Modul:Wb: Unterschied zwischen den Versionen

Aus STA Dokumentationsplattform
Zur Navigation springen Zur Suche springen
imported>Juergen.Kett
imported>Juergen.Kett
Zeile 4: Zeile 4:
 
p.entity = nil;
 
p.entity = nil;
 
p.claims = nil;
 
p.claims = nil;
p.keys = {};
 
p.index = 1;
 
 
p.property = nil;
 
p.value = nil;
 
p.qualifier = nil;
 
  
 
local rowDelA = "<tr>"
 
local rowDelA = "<tr>"
Zeile 18: Zeile 12:
 
local tableDelB = "</table>"
 
local tableDelB = "</table>"
 
local refUrl = nil
 
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)
 
function p.getFormatedStatements(frame)
Zeile 54: Zeile 32:
 
     prop = mw.wikibase.getLabel(key)
 
     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"])
 +
          qualifiers = nil
 
           value = mw.wikibase.renderSnak(claim["mainsnak"])
 
           value = mw.wikibase.renderSnak(claim["mainsnak"])
 
           ret = ret .. rowDelA .. colDelA .. prop .. colDelB .. colDelA .. value .. colDelB .. colDelA .. tableDelA .. qualifiers .. tableDelB .. colDelB .. rowDelB
 
           ret = ret .. rowDelA .. colDelA .. prop .. colDelB .. colDelA .. value .. colDelB .. colDelA .. tableDelA .. qualifiers .. tableDelB .. colDelB .. rowDelB
Zeile 82: Zeile 61:
 
     snak = claim[1]["mainsnak"]  
 
     snak = claim[1]["mainsnak"]  
 
     p.value = mw.wikibase.renderSnak(snak)
 
     p.value = mw.wikibase.renderSnak(snak)
    mw.logObject(p.value)
 
 
     p.index = p.index + 1
 
     p.index = p.index + 1
 
   end
 
   end
 
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)
 
p.getLabel = function (frame)

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

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)
  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"])
           qualifiers = nil
           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)
    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