Modul:Wb
Version vom 29. Mai 2020, 11:07 Uhr von imported>Juergen.Kett
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
p.nextStatement()
return mw.logObject(p.entity)
-- 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