Modul:Briefspielnews: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 40: | Zeile 40: | ||
reihe[r]["Kapitel"]={} | reihe[r]["Kapitel"]={} | ||
local y,m,d=kap["Kapiteldatum"]:match("(%d%d%d%d)-?(%d?%d?)-?(%d?%d?)$") | local y,m,d=kap["Kapiteldatum"]:match("(%d%d%d%d)-?(%d?%d?)-?(%d?%d?)$") | ||
reihe[r]["Reihedatum"]=os.time({year= | reihe[r]["Reihedatum"]=os.time({year=2024,month=10,day=5}) | ||
end | end | ||
table.insert(reihe[r]["Kapitel"],kap) | table.insert(reihe[r]["Kapitel"],kap) |
Version vom 5. Oktober 2024, 09:27 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 --Sortierfunktion für die Reihen function sortReihe(t,a,b) return t[b]["Reihedatum"]<t[a]["Reihedatum"] end --Formatierung der Ausgabe function ausgabe(kapitel) local result="" local reihe={} --Teile die Kapitel auf die Reihen auf for k,kap in spairs(kapitel) do local r=kap["Reihe ist"] if reihe[r]==nil then reihe[r]={} reihe[r]["Kapitel"]={} local y,m,d=kap["Kapiteldatum"]:match("(%d%d%d%d)-?(%d?%d?)-?(%d?%d?)$") reihe[r]["Reihedatum"]=os.time({year=2024,month=10,day=5}) end table.insert(reihe[r]["Kapitel"],kap) --if kap["Kapiteldatum"]>reihe[r]["Reihedatum"] then -- reihe[r]["Reihedatum"]=kap["Kapiteldatum"] -- end end --Gebe die Reihen aus for r,rei in spairs(reihe,sortReihe) do result=result.."\n*"..rei["Reihedatum"].." '''[["..r.." — Briefspielreihe|"..r.."]]'''" for k,kap in spairs(rei["Kapitel"]) do local kurzbeschreibung=kap["Kurzbeschreibung"] if kurzbeschreibung~=nil then kurzbeschreibung=" - "..kurzbeschreibung else kurzbeschreibung="" end result=result.."\n**"..kap["Kapiteldatum"].." [["..kap["Kapitel"].."|"..kap["Kapitelname ist"].."]]"..kurzbeschreibung end end 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