Modul:Wb: Unterschied zwischen den Versionen

Aus STA Dokumentationsplattform
Zur Navigation springen Zur Suche springen
imported>Juergen.Kett
imported>Juergen.Kett
Zeile 20: Zeile 20:
 
   end
 
   end
 
   p.nextStatement()
 
   p.nextStatement()
   return mw.printObject(p.entity)
+
   return "Entity: " .. mw.printObject(p.entity)
 
   -- return p.value
 
   -- return p.value
 
end
 
end

Version vom 29. Mai 2020, 11:15 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;

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)
  end
  p.nextStatement()
  return "Entity: " .. mw.printObject(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