Modul:Briefspielnews: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 28: | Zeile 28: | ||
local reihe={} | local reihe={} | ||
local | --Teile die Kapitel auf die Reihen auf | ||
for _,k in ipairs( | local kkeys=getSortKeys(kapitel) | ||
for _,k in ipairs(kkeys) do | |||
local r=kapitel[k]["Reihe ist"] | local r=kapitel[k]["Reihe ist"] | ||
if reihe[r]==nil then | if reihe[r]==nil then | ||
Zeile 40: | Zeile 41: | ||
reihe[r]["Reihedatum"]=kapitel[k]["Kapiteldatum"] | reihe[r]["Reihedatum"]=kapitel[k]["Kapiteldatum"] | ||
end | end | ||
end | end | ||
--Gebe die Reihen aus | |||
local rkeys=getSortKeys(reihe) | |||
for _,r in ipairs(rkeys) do | |||
result=result.."\n*'''[["..r.." — Briefspielreihe|"..r.."]]'''" | |||
end | |||
result=result..dump(reihe," ") | result=result..dump(reihe," ") |
Version vom 5. Oktober 2024, 06:08 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Briefspielnews/Doku erstellt werden
require("Modul:Hilfsfunktionen") require("Modul:Text") local p = {} --Hole die 500 neuesten Kapitel function holeKapitel(anzahl) local kapitel=mw.smw.ask("{{#ask: [[-has subobject::+]]" .."|?#-=Kapitel" .."|?Kurzbeschreibung#" .."|?Kapitelname ist" .."|?Reihe ist" .."|?Kapiteldatum#ISO" .."|limit="..anzahl .."|order=desc" .."|sort=Kapiteldatum" .."|offset=0" .."|searchlabel=") if kapitel==nil then return {} end return kapitel end --Formatierung der Ausgabe function ausgabe(kapitel) local result="" local reihe={} --Teile die Kapitel auf die Reihen auf local kkeys=getSortKeys(kapitel) for _,k in ipairs(kkeys) do local r=kapitel[k]["Reihe ist"] if reihe[r]==nil then reihe[r]={} reihe[r]["Kapitel"]={} reihe[r]["Reihedatum"]=kapitel[k]["Kapiteldatum"] end table.insert(reihe[r]["Kapitel"],kapitel[k]) if kapitel[k]["Kapiteldatum"]>reihe[r]["Reihedatum"] then reihe[r]["Reihedatum"]=kapitel[k]["Kapiteldatum"] end end --Gebe die Reihen aus local rkeys=getSortKeys(reihe) for _,r in ipairs(rkeys) do result=result.."\n*'''[["..r.." — Briefspielreihe|"..r.."]]'''" end result=result..dump(reihe," ") return result end --Aufzurufende Funktion function p.news(frame) local anzahl=robusttrim(frame.args[1]) if(anzahl=='') then anzahl='10' end local kapitel=holeKapitel(anzahl) return ausgabe(kapitel) end return p