Modul:Wb
Version vom 29. Mai 2020, 14:54 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; local rowDelA = "<tr>" local rowDelB = "</tr>\n" local colDelA = "<td>" local colDelB = "</td>" local tableDelA = "<table>" local tableDelB = "</table>" local refUrl = nil function p.getFormatedStatements(frame) id = frame.args.id rowDelA = frame.args.rowDelA rowDelB = frame.args.rowDelB colDelA = frame.args.colDelA colDelB = frame.args.colDelB tableDelA = frame.args.tableDelA tableDelB = frame.args.tableDelB return p._getFormatedStatements(id) end function p._getFormatedStatements(id) local ret = "" local qualifiers = "" local prop = "" local value = "" p.entity = mw.wikibase.getEntity(id) p.claims = p.entity["claims"] for key, claimgroup in pairs(p.claims) do if claimgroup then prop = mw.wikibase.getLabel(key) for key2, claim in pairs(claimgroup) do qualifiers=p.getFormatedQualifiers(claim["qualifiers"]) value = mw.wikibase.renderSnak(claim["mainsnak"]) ret = ret .. rowDelA .. colDelA .. prop .. colDelB .. colDelA .. value .. colDelB .. colDelA .. tableDelA .. qualifiers .. tableDelB .. colDelB .. rowDelB end end end return ret end function p.getFormatedQualifiers(snaks) local ret = "" local prop = "" if snaks then for key, snak in pairs(snaks) do prop = mw.wikibase.getLabel(key) ret = ret .. rowDelA .. colDelA .. prop .. colDelB .. colDelA .. mw.wikibase.renderSnak(snak[1]) .. colDelB .. rowDelB end end return ret ; end -- wird nicht mehr benötigt 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) p.index = p.index + 1 end end -- wird nicht mehr benötigt 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 p.getLabel = function (frame) local pid = frame.args.pid local label = mw.wikibase.getLabel(pid) return label end return p