Modul:Wb: Unterschied zwischen den Versionen

Aus STA Dokumentationsplattform
Zur Navigation springen Zur Suche springen
imported>Juergen.Kett
imported>Juergen.Kett
Zeile 11: Zeile 11:
 
p.qualifier = nil;
 
p.qualifier = nil;
  
local rowDel1 = "<tr>"
+
local rowDelA = "<tr>"
local rowDel2 = "</tr>\n"
+
local rowDelB = "</tr>\n"
local colDel1 = "<td>"
+
local colDelA = "<td>"
local colDel2 = "</td>"
+
local colDelB = "</td>"
local subTableDel1 = "<table>"
+
local tableDelA = "<table>"
local subTableDel2 = "</table>"
+
local tableDelB = "</table>"
  
  
Zeile 36: Zeile 36:
 
function p.getFormatedStatements(frame)
 
function p.getFormatedStatements(frame)
 
   id = frame.args.id
 
   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)
 
   return p._getFormatedStatements(id)
 
end
 
end
Zeile 48: Zeile 54:
 
           qualifiers=p.getFormatedQualifiers(claim["qualifiers"])
 
           qualifiers=p.getFormatedQualifiers(claim["qualifiers"])
 
           value = mw.wikibase.renderSnak(claim["mainsnak"])
 
           value = mw.wikibase.renderSnak(claim["mainsnak"])
           ret = ret .. rowDel1 .. colDel1 .. key .. colDel2 .. colDel1 .. value .. colDel2 .. colDel1 .. subTableDel1 .. qualifiers .. subTableDel2 .. colDel2 .. rowDel2
+
           ret = ret .. rowDelA .. colDelA .. key .. colDelB .. colDelA .. value .. colDelB .. colDelA .. tableDelA .. qualifiers .. tableDelB .. colDelB .. rowDelB
 
         end
 
         end
 
     end  
 
     end  
Zeile 59: Zeile 65:
 
     if snaks then
 
     if snaks then
 
       for key, snak in pairs(snaks) do
 
       for key, snak in pairs(snaks) do
         ret = ret .. rowDel1 .. colDel1 .. key .. colDel2 .. colDel1 .. mw.wikibase.renderSnak(snak[1]) .. colDel2 .. rowDel2
+
         ret = ret .. rowDelA .. colDelA .. key .. colDelB .. colDelA .. mw.wikibase.renderSnak(snak[1]) .. colDelB .. rowDelB
 
       end
 
       end
 
     end
 
     end

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


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
        for key2, claim in pairs(claimgroup) do
           qualifiers=p.getFormatedQualifiers(claim["qualifiers"])
           value = mw.wikibase.renderSnak(claim["mainsnak"])
           ret = ret .. rowDelA .. colDelA .. key .. 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
         ret = ret .. rowDelA .. colDelA .. key .. colDelB .. colDelA .. mw.wikibase.renderSnak(snak[1]) .. colDelB .. rowDelB
      end
    end
    return ret ;
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