Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 13: | Zeile 13: | ||
return "Keine Serien-ID angegeben." | return "Keine Serien-ID angegeben." | ||
end | end | ||
-- **DEBUG** Serien-ID anzeigen | |||
mw.log("getCompleteVolumes aufgerufen mit Serien-ID: " .. seriesID) | |||
-- Abfrage vorbereiten | -- Abfrage vorbereiten | ||
local query = { ["[[SerienID::" .. seriesID .. "]]"] = "?Complete volumes" } | local query = { ["[[SerienID::" .. seriesID .. "]]"] = "?Complete volumes" } | ||
mw.logObject(query, "Abfrage für getCompleteVolumes") | |||
-- Abfrage ausführen | |||
local queryResult = mw.smw.getQueryResult(query) | local queryResult = mw.smw.getQueryResult(query) | ||
if not queryResult or not queryResult.results then | if not queryResult or not queryResult.results then | ||
mw.log("Keine Ergebnisse gefunden für Serien-ID: " .. seriesID) | |||
return "Keine Ergebnisse gefunden." | return "Keine Ergebnisse gefunden." | ||
end | end | ||
Zeile 24: | Zeile 30: | ||
-- Ergebnisse analysieren | -- Ergebnisse analysieren | ||
for _, result in pairs(queryResult.results) do | for _, result in pairs(queryResult.results) do | ||
mw.logObject(result, "Ergebnisse für Serien-ID: " .. seriesID) | |||
local printouts = result.printouts | local printouts = result.printouts | ||
if printouts and printouts["Complete volumes"] then | if printouts and printouts["Complete volumes"] then | ||
mw.log("Gesamtbände gefunden: " .. printouts["Complete volumes"][1]) | |||
return printouts["Complete volumes"][1] -- Gibt den ersten gefundenen Wert zurück | return printouts["Complete volumes"][1] -- Gibt den ersten gefundenen Wert zurück | ||
end | end | ||
end | end | ||
mw.log("Keine Gesamtbände gefunden für Serien-ID: " .. seriesID) | |||
return "Keine Gesamtbände gefunden." | return "Keine Gesamtbände gefunden." | ||
end | end | ||
-- Hauptfunktion für die Buchdarstellung | -- Hauptfunktion für die Buchdarstellung | ||
function buch.render(args, helper) | function buch.render(args, helper) | ||
local | local seriesID = args["Hat Serie"] or "" | ||
local band = args["Band"] or "" | local band = args["Band"] or "" | ||
-- **DEBUG** Serien-ID | -- **DEBUG** Serien-ID anzeigen | ||
local debugOutput = "Serien-ID: " .. (seriesID ~= "" and seriesID or "Keine Serien-ID angegeben") .. "\n" | local debugOutput = "Serien-ID: " .. (seriesID ~= "" and seriesID or "Keine Serien-ID angegeben") .. "\n" | ||
-- | -- **DEBUG** Prüfen, ob buch.getCompleteVolumes aufgerufen wird | ||
local completeVolumes = buch.getCompleteVolumes(seriesID) | local completeVolumes = buch.getCompleteVolumes(seriesID) | ||
debugOutput = debugOutput .. "Aufruf getCompleteVolumes mit Serien-ID: " .. seriesID .. "\n" | |||
-- Ausgabe | -- Ausgabe der Bände | ||
local bandOutput = "Band " .. band | local bandOutput = "Band " .. band | ||
if completeVolumes and completeVolumes ~= "" then | if completeVolumes and completeVolumes ~= "" then | ||
bandOutput = bandOutput .. " von " .. completeVolumes | bandOutput = bandOutput .. " von " .. completeVolumes | ||
else | |||
bandOutput = bandOutput .. " (Keine Gesamtbände gefunden)" | |||
end | end | ||
-- | -- Ergebnis zurückgeben | ||
return debugOutput .. "Ergebnis Band-Ausgabe: " .. bandOutput | |||
end | |||
return buch | return buch |
Version vom 21. November 2024, 21:06 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Publikation/Buch/Doku erstellt werden
local smw = require('Module:SMW')
local getArgs = require('Module:Arguments').getArgs
local buch = {}
-- Funktion zur Extraktion der Gesamtbände aus der Serien-ID
function buch.getCompleteVolumes(seriesID)
if not mw.smw then
return "Semantic MediaWiki-Erweiterung nicht gefunden."
end
if not seriesID or seriesID == "" then
return "Keine Serien-ID angegeben."
end
-- **DEBUG** Serien-ID anzeigen
mw.log("getCompleteVolumes aufgerufen mit Serien-ID: " .. seriesID)
-- Abfrage vorbereiten
local query = { ["[[SerienID::" .. seriesID .. "]]"] = "?Complete volumes" }
mw.logObject(query, "Abfrage für getCompleteVolumes")
-- Abfrage ausführen
local queryResult = mw.smw.getQueryResult(query)
if not queryResult or not queryResult.results then
mw.log("Keine Ergebnisse gefunden für Serien-ID: " .. seriesID)
return "Keine Ergebnisse gefunden."
end
-- Ergebnisse analysieren
for _, result in pairs(queryResult.results) do
mw.logObject(result, "Ergebnisse für Serien-ID: " .. seriesID)
local printouts = result.printouts
if printouts and printouts["Complete volumes"] then
mw.log("Gesamtbände gefunden: " .. printouts["Complete volumes"][1])
return printouts["Complete volumes"][1] -- Gibt den ersten gefundenen Wert zurück
end
end
mw.log("Keine Gesamtbände gefunden für Serien-ID: " .. seriesID)
return "Keine Gesamtbände gefunden."
end
-- Hauptfunktion für die Buchdarstellung
function buch.render(args, helper)
local seriesID = args["Hat Serie"] or ""
local band = args["Band"] or ""
-- **DEBUG** Serien-ID anzeigen
local debugOutput = "Serien-ID: " .. (seriesID ~= "" and seriesID or "Keine Serien-ID angegeben") .. "\n"
-- **DEBUG** Prüfen, ob buch.getCompleteVolumes aufgerufen wird
local completeVolumes = buch.getCompleteVolumes(seriesID)
debugOutput = debugOutput .. "Aufruf getCompleteVolumes mit Serien-ID: " .. seriesID .. "\n"
-- Ausgabe der Bände
local bandOutput = "Band " .. band
if completeVolumes and completeVolumes ~= "" then
bandOutput = bandOutput .. " von " .. completeVolumes
else
bandOutput = bandOutput .. " (Keine Gesamtbände gefunden)"
end
-- Ergebnis zurückgeben
return debugOutput .. "Ergebnis Band-Ausgabe: " .. bandOutput
end
return buch