Modul:Wb: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
imported>Juergen.Kett |
imported>Juergen.Kett |
||
| Zeile 52: | Zeile 52: | ||
for key, claimgroup in pairs(p.claims) do | for key, claimgroup in pairs(p.claims) do | ||
if claimgroup then | if claimgroup then | ||
| + | prop = mw.wikibase.getLabel(key) | ||
for key2, claim in pairs(claimgroup) do | for key2, claim in pairs(claimgroup) do | ||
qualifiers=p.getFormatedQualifiers(claim["qualifiers"]) | qualifiers=p.getFormatedQualifiers(claim["qualifiers"]) | ||
value = mw.wikibase.renderSnak(claim["mainsnak"]) | value = mw.wikibase.renderSnak(claim["mainsnak"]) | ||
| − | ret = ret .. rowDelA .. colDelA .. | + | ret = ret .. rowDelA .. colDelA .. prop .. colDelB .. colDelA .. value .. colDelB .. colDelA .. tableDelA .. qualifiers .. tableDelB .. colDelB .. rowDelB |
end | end | ||
end | end | ||
| Zeile 66: | Zeile 67: | ||
if snaks then | if snaks then | ||
for key, snak in pairs(snaks) do | for key, snak in pairs(snaks) do | ||
| − | ret = ret .. rowDelA .. colDelA .. | + | prop = mw.wikibase.getLabel(key) |
| + | ret = ret .. rowDelA .. colDelA .. prop .. colDelB .. colDelA .. mw.wikibase.renderSnak(snak[1]) .. colDelB .. rowDelB | ||
end | end | ||
end | end | ||
| Zeile 84: | Zeile 86: | ||
end | end | ||
end | end | ||
| + | |||
p.getLabel = function (frame) | p.getLabel = function (frame) | ||
Version vom 29. Mai 2020, 14:32 Uhr
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;
local rowDelA = "<tr>"
local rowDelB = "</tr>\n"
local colDelA = "<td>"
local colDelB = "</td>"
local tableDelA = "<table>"
local tableDelB = "</table>"
local refUrl = nil
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.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)
ret = ""
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 = ""
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)
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