Zuletzt bearbeitet vor 7 Minuten
von Xineohp1506

Modul:Publikation/Buch: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Markierung: Zurückgesetzt
Keine Bearbeitungszusammenfassung
Markierung: Manuelle Zurücksetzung
Zeile 4: Zeile 4:


function buch.render(frame)
function buch.render(frame)
    local debugOutput = {}
     -- Debugging: Serien-ID ausgeben
 
     -- Argumente aus dem Frame extrahieren
     local args = frame.args
     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"]
     local seriesID = args["SerienID"]
     if not seriesID or seriesID == "" then
     if not seriesID then
         table.insert(debugOutput, "Fehler: Serien-ID nicht angegeben.")
         return "Series ID nicht angegeben."
        return "<pre>" .. table.concat(debugOutput, "\n") .. "</pre>"
     end
     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 .. "]]"
     local seriesQuery = "[[SerienID::" .. seriesID .. "]]"
    table.insert(debugOutput, "Query für Serien-Seite: " .. seriesQuery)
     local seriesPageTitle = helper.getSeriesPageTitle({ args = { seriesQuery } })
 
     local completeVolumes = "Keine Ergebnisse gefunden."
    -- Serien-Seite abrufen
      
     local seriesPageTitle = helper.getSeriesPageTitle({ query = seriesQuery })
     if seriesPageTitle ~= "Keine Ergebnisse gefunden." then
     if type(seriesPageTitle) ~= "string" then
         completeVolumes = helper.getCompleteVolumesByTitle({ args = { seriesPageTitle, "Complete volumes" } })
        table.insert(debugOutput, "Serien-Seite ist keine gültige Zeichenkette.")
     else
        table.insert(debugOutput, "Gefundene Serien-Seite: " .. seriesPageTitle)
    end
 
    -- Überprüfen, ob die Serien-Seite gefunden wurde
     if seriesPageTitle == "Keine Ergebnisse gefunden." or seriesPageTitle == nil 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" })
    if type(completeVolumes) ~= "string" then
        table.insert(debugOutput, "Gesamtbände ist keine gültige Zeichenkette.")
    else
        table.insert(debugOutput, "Gefundene Gesamtbände: " .. tostring(completeVolumes))
    end
 
    if completeVolumes == "Keine Ergebnisse gefunden." then
        completeVolumes = "Unbekannt"
     end
     end


     -- Serien-Link erstellen
     return string.format(
    local seriesLink = '[[' .. seriesPageTitle .. '|' .. (args["Hat Serie"] or "Serie") .. ']]'
        "Series ID: %s\nSeries Page Title: %s\nComplete Volumes: %s",
 
        seriesID,
    -- Ausgabe der Band-Informationen
        seriesPageTitle,
    local band = args["Band"] or "Kein Band angegeben."
        completeVolumes
    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
end


return buch
return buch

Version vom 22. November 2024, 22:23 Uhr

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)
    -- Debugging: Serien-ID ausgeben
    local args = frame.args
    local seriesID = args["SerienID"]
    if not seriesID then
        return "Series ID nicht angegeben."
    end

    local seriesQuery = "[[SerienID::" .. seriesID .. "]]"
    local seriesPageTitle = helper.getSeriesPageTitle({ args = { seriesQuery } })
    local completeVolumes = "Keine Ergebnisse gefunden."
    
    if seriesPageTitle ~= "Keine Ergebnisse gefunden." then
        completeVolumes = helper.getCompleteVolumesByTitle({ args = { seriesPageTitle, "Complete volumes" } })
    end

    return string.format(
        "Series ID: %s\nSeries Page Title: %s\nComplete Volumes: %s",
        seriesID,
        seriesPageTitle,
        completeVolumes
    )
end

return buch