Module:SiteList: Difference between revisions

796 bytes removed ,  21 July 2023
no edit summary
No edit summary
Tag: Manual revert
No edit summary
local p = {}
local siteDB = require('Module:SiteDatabase')
 
function p.siteList(frame)
local function buildRow(siteType, site, id, sceneid, alias, notes)
local siteInfoargs = mw.loadDatarequire('Module:SiteDictionaryArguments')[site:lower.getArgs(frame, {wrappers = 'Template:SiteList'})]
local link = 'N/A'
local siteLabel = 'N/A'
 
local linksite = 'N/A'args.site
if siteInfo then
local id = args.id or ''
-- проверка наличия sceneid
local sceneid = if args.sceneid ~= ""or then''
local alias = args.alias or 'N/A'mw.title.getCurrentTitle().text
link = string.format(siteInfo.sceneFormat, sceneid)
local notes = args.notes or 'N/A'
-- если sceneid нет, проверка наличия id
 
elseif id ~= "" then
local siteData = siteDB.sites[site]
link = string.format(siteInfo.idFormat, id)
 
-- если нет и sceneid, и id, использование defaultLink
if siteInfositeData then
else
local linkurl = siteInfositeData.defaultLinkurl
if id ~= '' endthen
url = siteData.model_url .. id .. '.html'
-- форматирование ссылки для вывода
elseif idsceneid ~= ""'' then
siteLabel = string.format("[%s %s]", link, siteInfo.name)
url = siteData.scene_url .. sceneid .. '.html'
else
siteLabel = siteType
end
local link = '[' .. url .. ' ' .. site .. '] <small>(' .. siteData.category .. ')</small>'
 
if mw.title.getCurrentTitle().namespace == 0 then
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')
link = link .. siteData.model_category
end
elseend
 
return link
function p.siteList(frame)
else
local args = frame:getParent().args
return 'None'
local siteType = args[1] or 'N/A'
end
local site = args.site or 'N/A'
-- использование пустых строк вместо 'N/A', если значения не установлены
local id = args.id or ''
local sceneid = args.sceneid or ''
local alias = args.alias or 'N/A'
local notes = args.notes or 'N/A'
return buildRow(siteType, site, id, sceneid, alias, notes)
end