Modul:Benutzer:Greygrey2000/WDStand
Erscheinungsbild
Die Dokumentation für dieses Modul kann unter Modul:Benutzer:Greygrey2000/WDStand/Doku erstellt werden
local p = {}
local function getBestStatement(entityId, prop)
local st = mw.wikibase.getBestStatements(entityId, prop)
if st and st[1] then
return st[1]
end
return nil
end
--
function p.year(frame)
local id = frame.args[1] or 'Q2035460' -- Ostfalia
local prop = frame.args[2] or 'P2196' -- Studierendenzahl
local qual = frame.args[3] or 'P585' -- Zeitpunkt (Stand)
local st = getBestStatement(id, prop)
if st and st.qualifiers and st.qualifiers[qual]
and st.qualifiers[qual][1]
and st.qualifiers[qual][1].datavalue
and st.qualifiers[qual][1].datavalue.value then
local t = st.qualifiers[qual][1].datavalue.value.time or '' -- z. B. +2024-00-00T...
local y = mw.ustring.match(t, '%d%d%d%d')
return y or ''
end
return ''
end
function p.students(frame)
local id = frame.args[1] or 'Q2035460'
local st = getBestStatement(id, 'P2196')
if st and st.mainsnak and st.mainsnak.datavalue and st.mainsnak.datavalue.value then
local amt = st.mainsnak.datavalue.value.amount
if amt then
amt = tostring(amt):gsub('^%+', '')
local num = tonumber(amt)
if num then
return mw.language.getContentLanguage():formatNum(num)
else
return amt
end
return mw.language.getContentLanguage():formatNum(amt)
end
end
return ''
end
return p