Modul:Wb

Aus STA Dokumentationsplattform
Version vom 29. Mai 2020, 11:03 Uhr von imported>Juergen.Kett
Zur Navigation springen Zur Suche springen

Die Dokumentation für dieses Modul kann unter Modul:Wb/Doku erstellt werden

local p = {}; 

p.id = nil;
p.entity = nil;
p.claims = nil;
p.keys = {};
p.index = 1;

p.property = nil;
p.value = nil;
p.qualifier = nil;

p.getNextStatement = function(frame)
  p.id = frame.args.id
  if not p.id then 
     return ""
  end
  if not p.entity then
    p.initEntity(p.id)
    return "init Entity"
  end
  if not p.entity then 
    return "Entity still nil"
  end

  p.nextStatement()
  return p.value
end

function p.initEntity(qid)
  p.entity = mw.wikibase.getEntity(qid)
  p.claims = p.entity["claims"]
  -- p.i, p.v = next(p.claims, nil) 
  -- mw.logObject(p.entity)
  p.keys = {}
  p.index=1
  local i = 1
  for k in pairs(p.claims) do  
     p.keys[i]=k
     i = i + 1
  end
  mw.logObject(p.keys)
end

function p.nextStatement() 
  p.property = p.keys[p.index]
  mw.log(p.property)
  if p.property then
    claim = p.claims[p.property]
    snak = claim[1]["mainsnak"] 
    p.value = mw.wikibase.renderSnak(snak)
    mw.logObject(p.value)
    p.index = p.index + 1
  end
end

p.getLabel = function (frame)
 local pid = frame.args.pid
 local label = mw.wikibase.getLabel(pid)
 return label
end

return p