Модуль:Авторы
Для документации этого модуля может быть создана страница Модуль:Авторы/Документация
local p = {}
local frame = mw.getCurrentFrame()
local args, pargs = frame.args, frame:getParent().args
local data = mw.loadData( "Модуль:Авторы/Data" )
local names, pseudonyms = data.names, data.pseudonyms
local page = mw.title.getCurrentTitle()
local prefix = mw.text.split( page.text, '/' )[1]
local map = { ["Викитека:Проект:БСЭ1"] = "БСЭ1", ["Энциклопедический словарь Гранат"] = "ЭСГ", }
if map[prefix] then prefix = map[prefix] end
local pseudo = pargs[1] or false
local src = pseudonyms[prefix] or pseudonyms[false]
local name = src[pseudo] or pseudo
mw.logObject(src,"src");mw.logObject(name,"name")
function p.PD_year( frame )
if not name then return end
local namedata = names[name]; if not namedata then return end
local D, R, W = tonumber(namedata.D), tonumber(namedata.R), namedata.W
local year
if D and R then
if R > D then year = R else year = D end
elseif D or R then
year = D or R
else
return
end
if W then year = year + 75 else year = year + 71 end
return year
end
function is ( var ) if ( var == '' or var == nil ) then return nil else return var end end
return p