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