Zum Inhalt springen

Modul:Benutzer:Greygrey2000/WDStand

aus Wikipedia, der freien Enzyklopädie

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