Die Dokumentation für dieses Modul kann unter Modul:Publikation/Buch/Doku erstellt werden
local buch = {}
local helper = require("Modul:Publikation/SerieHelper")
local getArgs = require('Module:Arguments').getArgs
function buch.render(frame)
local debugOutput = {}
-- Argumente aus dem Frame extrahieren
local args = frame.args
if not args then
table.insert(debugOutput, "Fehler: Keine Argumente übergeben.")
return "<pre>" .. table.concat(debugOutput, "\n") .. "</pre>"
end
-- Debugging: Gebe alle übergebenen Argumente aus
table.insert(debugOutput, "Übergebene Argumente:")
for k, v in pairs(args) do
table.insert(debugOutput, k .. ": " .. tostring(v))
end
-- Serien-ID abrufen
local seriesID = args["SerienID"]
if not seriesID or seriesID == "" then
table.insert(debugOutput, "Fehler: Serien-ID nicht angegeben.")
return "<pre>" .. table.concat(debugOutput, "\n") .. "</pre>"
end
-- Debugging: Zeige die Serien-ID an
table.insert(debugOutput, "Serien-ID erfolgreich abgerufen: " .. seriesID)
-- Abfrage erstellen und Serien-Seite abrufen
local seriesQuery = "[[SerienID::" .. seriesID .. "]]"
table.insert(debugOutput, "Query für Serien-Seite: " .. seriesQuery)
local seriesPageTitle = helper.getSeriesPageTitle({ args = { seriesQuery } })
table.insert(debugOutput, "Gefundene Serien-Seite: " .. seriesPageTitle)
-- Überprüfen, ob die Serien-Seite gefunden wurde
if seriesPageTitle == "Keine Ergebnisse gefunden." then
table.insert(debugOutput, "Fehler: Serien-Seite konnte nicht abgerufen werden.")
return "<pre>" .. table.concat(debugOutput, "\n") .. "</pre>"
end
-- Gesamtbände abrufen
local completeVolumes = helper.getCompleteVolumesByTitle(seriesPageTitle, "Complete volumes")
table.insert(debugOutput, "Gefundene Gesamtbände: " .. tostring(completeVolumes))
if completeVolumes == "Keine Ergebnisse gefunden." then
completeVolumes = "Unbekannt"
end
-- Serien-Link erstellen
local seriesLink = '[[' .. seriesPageTitle .. '|' .. (args["Hat Serie"] or "Serie") .. ']]'
-- Ausgabe der Band-Informationen
local band = args["Band"] or "Kein Band angegeben."
local bandInfo = "Band " .. band .. " von " .. completeVolumes .. " (" .. seriesLink .. ")"
table.insert(debugOutput, "Ausgabe der Band-Informationen: " .. bandInfo)
-- Debugging: Finaler Ausgabe-String
table.insert(debugOutput, "Finale Ausgabe:")
table.insert(debugOutput, bandInfo)
return "<pre>" .. table.concat(debugOutput, "\n") .. "</pre>"
end
return buch