Zuletzt bearbeitet vor 2 Stunden
von Xineohp1506

Buch

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)

    -- Serien-Seite abrufen
    local seriesPageTitle = helper.getSeriesPageTitle({ query = 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