Module:Test2: Difference between revisions

From ProleWiki, the proletarian encyclopedia
m (Testing function which returns sitename based on url)
m (Refining capture so that it captures more than a single word)
 
Line 15: Line 15:
for i,line in ipairs(dataLines) do
for i,line in ipairs(dataLines) do
if line:match("og:site_name") then
if line:match("og:site_name") then
sitename = line:match("content=\"(%a+)\"")
sitename = line:match('content="([^"]+)"')
break
end
end
end
end

Latest revision as of 12:36, 23 April 2024

function splitLines(text)
    local lines = {}
    for line in text:gmatch("[^\r\n]+") do
        table.insert(lines, line)
    end
    return lines
end

local p = {}

function p.Sitename(frame)
	local extDataTable = mw.ext.externalData.getExternalData(frame.args[1])[1]["__text"]
	local dataLines = splitLines(extDataTable)
	local sitename = ''
	for i,line in ipairs(dataLines) do
		if line:match("og:site_name") then
			sitename = line:match('content="([^"]+)"')
			break
		end
	end
	return sitename
end

return p