Änderungen

keine Bearbeitungszusammenfassung
Zeile 18: Zeile 18:  
local ntitle = mw.title.getCurrentTitle().text
 
local ntitle = mw.title.getCurrentTitle().text
 
local queryResult = mw.smw.ask('[[Ausrüstungskategorie::'..ntitle..'|?=#|limit=1999')
 
local queryResult = mw.smw.ask('[[Ausrüstungskategorie::'..ntitle..'|?=#|limit=1999')
returnString = '<table class="wikitable sortable oben" ><tr><th>Ausrüstung</th><th>Preis</th><th>Quellen</th></tr>'
+
returnString = '<table class="wikitable sortable oben" ><tr><th>Ausrüstung</th><th>Preis</th><th>Last</th><th>Verfügbarkeit</th><th>Komplexität</th><th>Quellen</th></tr>'
    
local i = 1
 
local i = 1
while i <= table.getn(queryResult)
+
if queryResult ~= nil then
do
+
while i <= table.getn(queryResult)
local basistypArtikelinfo = mw.smw.ask('[[' .. queryResult[i][1] ..']]|?Artikelinfo|?Profilbild|?Preis|?Publikation|mainlabel=-')
+
do
-- Artikelinfo
+
local basistypArtikelinfo = mw.smw.ask('[[' .. queryResult[i][1] ..']]|?Artikelinfo|?Profilbild|?Last|?Preis|?Komplexität|?Verfügbarkeit|?Publikation|mainlabel=-')
if basistypArtikelinfo[1]['Artikelinfo'] ~= nil
+
-- Artikelinfo
then
+
if basistypArtikelinfo[1]['Artikelinfo'] ~= nil
returnString = returnString .. '<tr>' -- neue tabellen reihe
+
then
returnString = returnString ..'<td>[[' .. queryResult[i][1] .. ']] (' .. basistypArtikelinfo[1]['Artikelinfo'] ..')</td>'
+
returnString = returnString .. '<tr>' -- neue tabellen reihe
end
+
returnString = returnString ..'<td>[[' .. queryResult[i][1] .. ']] (' .. basistypArtikelinfo[1]['Artikelinfo'] ..')</td>'
returnString = returnString .. '<td>'
+
end
--Preis
+
returnString = returnString .. '<td>'
if basistypArtikelinfo[1]['Preis'] ~= nil
+
--Preis
then
+
if basistypArtikelinfo[1]['Preis'] ~= nil
returnString = returnString .. basistypArtikelinfo[1]['Preis'] ..'</td>'
+
then
end
+
returnString = returnString .. basistypArtikelinfo[1]['Preis'] ..'</td>'
--Quellen
+
end
returnString = returnString .. '<td>'
+
--Last
if basistypArtikelinfo[1]['Publikation'] ~= nil
+
returnString = returnString .. '<td>'
then
+
if basistypArtikelinfo[1]['Last'] ~= nil
if (type(basistypArtikelinfo[1]['Publikation']) == "table")
+
then
 +
returnString = returnString .. basistypArtikelinfo[1]['Last'] ..'</td>'
 +
end
 +
--Verfügbarkeit
 +
returnString = returnString .. '<td>'
 +
if basistypArtikelinfo[1]['Verfügbarkeit'] ~= nil
 +
then
 +
returnString = returnString .. basistypArtikelinfo[1]['Verfügbarkeit'] ..'</td>'
 +
end
 +
--Komplexität
 +
returnString = returnString .. '<td>'
 +
if basistypArtikelinfo[1]['Komplexität'] ~= nil
 +
then
 +
returnString = returnString .. basistypArtikelinfo[1]['Komplexität'] ..'</td>'
 +
end
 +
--Quellen
 +
returnString = returnString .. '<td>'
 +
if basistypArtikelinfo[1]['Publikation'] ~= nil
 
then
 
then
n = 1
+
if (type(basistypArtikelinfo[1]['Publikation']) == "table")
while n <= table.getn(basistypArtikelinfo[1]['Publikation'])
+
then
do
+
n = 1
returnString = returnString .. basistypArtikelinfo[1]['Publikation'][n]  
+
while n <= table.getn(basistypArtikelinfo[1]['Publikation'])
if n < table.getn(basistypArtikelinfo[1]['Publikation'])  
+
do
then
+
returnString = returnString .. basistypArtikelinfo[1]['Publikation'][n]  
returnString = returnString ..", "
+
if n < table.getn(basistypArtikelinfo[1]['Publikation'])  
end
+
then
n = n + 1
+
returnString = returnString ..", "
end
+
end
else
+
n = n + 1
returnString = returnString .. basistypArtikelinfo[1]['Publikation']  
+
end
 +
else
 +
returnString = returnString .. basistypArtikelinfo[1]['Publikation']  
 +
end
 
end
 
end
 +
returnString = returnString .. '</td>'
 +
 +
i = i +1
 
end
 
end
returnString = returnString .. '</td>'
+
--tabelle schließen
+
returnString = returnString .. '</table>'
i = i +1
+
return returnString
end
+
end
--tabelle schließen
+
end
returnString = returnString .. '</table>'
+
-- Ausbildung benutzt zwei Vorlagen.. Liste.Ausbildung wird nicht gefunden
return returnString
+
if Basistyp == "Ausbildung"
 +
then
 +
returnString = returnString .. mw.getCurrentFrame():expandTemplate{title ="Vorlage:Ausbildung.Listen"}
 +
return returnString -- kaputte tabelle vermeiden, funktion hier beenden
 
end
 
end
   
-- Semantische Abfrage nach Seiten mit diesen Basistyp
 
-- Semantische Abfrage nach Seiten mit diesen Basistyp
 
local queryResult =  mw.smw.ask('[[Basistyp::'..Basistyp .. ']]|?=#|limit=1999') --link=none funktioniert nicht über api abfrage daher ?=#
 
local queryResult =  mw.smw.ask('[[Basistyp::'..Basistyp .. ']]|?=#|limit=1999') --link=none funktioniert nicht über api abfrage daher ?=#
 
if queryResult == nil then return nil end -- Wenn query nicht funktionert abbruch: TODO funktionierender alternativer query
 
if queryResult == nil then return nil end -- Wenn query nicht funktionert abbruch: TODO funktionierender alternativer query
 
-- tabellen kopf
 
-- tabellen kopf
returnString = '<table class="wikitable sortable oben" ><tr><th>' .. Basistyp ..'</th><th>Gehört zu...</th><th>Quellen</th></tr>'
+
returnString = returnString .. '<table class="wikitable sortable oben" ><tr><th>' .. Basistyp ..'</th><th>Gehört zu...</th><th>Quellen</th></tr>'
 
-- loop über query result und erstelle tabelle
 
-- loop über query result und erstelle tabelle
 
local i = 1
 
local i = 1