Module:SiteList
Documentation for this module may be created at Module:SiteList/doc
local p = {}
local function buildRow(siteType, site, id, sceneid, alias, notes)
local siteInfo = mw.loadData('Module:SiteDictionary')[site:lower()]
local link = 'N/A'
local siteLabel = 'N/A'
if siteInfo then
sceneid = mw.text.trim(sceneid) -- удаляем пробелы
id = mw.text.trim(id)
if sceneid ~= '' then -- если строка не пустая
link = string.format(siteInfo.sceneFormat, sceneid)
elseif id ~= '' then
link = string.format(siteInfo.idFormat, id)
else
link = siteInfo.defaultLink
end
siteLabel = string.format("[%s %s]", link, siteInfo.name)
else
siteLabel = siteType
end
return string.format('|-\n| style="text-align:center;vertical-align:middle;" | %s\n| style="text-align:center;vertical-align:middle;" | %s\n| style="text-align:center;vertical-align:middle;" | %s\n| style="text-align:center;vertical-align:middle;" | %s\n', siteType, siteLabel, alias or 'N/A', notes or 'N/A')
end
function p.siteList(frame)
local args = frame:getParent().args
local siteType = args[1]
local site = args.site or ''
local id = args.id or ''
local sceneid = args.sceneid or ''
local alias = args.alias
local notes = args.notes
return buildRow(siteType, site, id, sceneid, alias, notes)
end
return p