Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | ||
Modul | Deutsch
|
Modul: | Dokumentation |
Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus
local p = {}
local currentVersion = 37
local tVer = {
["1981-"] = 1,
["1982-"] = 2,
["1983-"] = 3,
["1984-"] = 4,
["1985-"] = 5,
["1986-"] = 6,
["1987-"] = 7,
["1988-"] = 8,
["1989-"] = 9,
["1990-"] = 10,
["1991-"] = 11,
["1992-"] = 12,
["1993-"] = 13,
["1994-"] = 14,
["1995-"] = 15,
["1996-"] = 16,
["1997-"] = 17,
["1998-"] = 18,
["1999-"] = 19,
["2000-"] = 20,
["2001-"] = 21,
["2002-"] = 22,
["2003-"] = 23,
["2004-"] = 24,
["2005-"] = 25,
["2006-"] = 26,
["2007-"] = 27,
["2008-"] = 28,
["2009-"] = 29,
["2010-"] = 30,
["2011-"] = 31,
["2012-"] = 32,
["2013-"] = 33,
["2014-"] = 34,
["2015-"] = 35,
["2016-"] = 36,
["2017-"] = 37,
}
function p.getData(tArgs)
if type(tArgs) == type({}) then
if not tonumber(tArgs.version) then
tArgs.versionDate = tArgs.version
end
tArgs.version = tVer[tArgs.versionDate] or tonumber(tArgs.version) or tArgs.current and currentVersion
if tArgs.version then
local b, tSub = pcall(require, "Module:Data/DE-096775621/1/" .. tArgs.version)
if type(tSub) == type({}) then
if tSub.getData then
return tSub.getData(tArgs)
else
tArgs.versionError = tArgs.versionError or "[[Module:Data/DE-096775621/1/" .. tArgs.version .."]].getData"
return tArgs.versionError
end
else
tArgs.versionError = tArgs.versionError or "[[Module:Data/DE-096775621/1/" .. tArgs.version .."]]"
return tArgs.versionError
end
else
local s = '{| class="wikitable"\n!versionDate\n!version\n'
local t = {}
for i, v in pairs(tVer) do
t[#t + 1] = {v, i}
end
table.sort(t, function(t1, t2) return t1[1] < t2[1] or t1[1] == t2[1] and t1[2] < t2[2] end)
for i, v in ipairs(t) do
s = s .. "|-\n|" .. v[2] .. "\n|" .. v[1] .. "\n"
end
return s .. "|}"
end
else
return '<span class="error">tArgs = {}</span>'
end
end
function p.invokeData(frame)
local t = {}
t.version = frame.args[1] or frame.args["version"]
t.key = frame.args[2] or frame.args["key"]
t.field = frame.args[3] or frame.args["field"]
for i, v in pairs(frame.args) do
t[i] = t[i] or v
end
return p.getData(t)
end
return p