Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
local | local smw = require('Module:SMW') | ||
local p = {} | |||
local | |||
-- | function p.getVolumesAndRelated(seriesID) | ||
local | -- Schritt 1: Seitentitel der Serie ermitteln | ||
local seriesTitle = smw.getFullPageTitle("[[SerienID::" .. seriesID .. "]]") | |||
if not seriesTitle then | |||
return "Keine Serie mit SerienID " .. seriesID .. " gefunden." | |||
end | |||
-- Schritt 2: Gesamtbände auslesen | |||
for _, data in pairs( | local completeVolumes = smw.ask("[[" .. seriesTitle .. "]]|?Complete volumes|limit=1") | ||
local totalVolumes = nil | |||
if completeVolumes then | |||
for _, data in pairs(completeVolumes) do | |||
totalVolumes = data["Complete volumes"] | |||
end | end | ||
end | end | ||
-- | -- Schritt 3: Vorhandene Bände abrufen | ||
local relatedBooksQuery = "[[Hat Serie::" .. seriesTitle .. "]]|?Titel|?Band|limit=100" | |||
local | local relatedBooks = smw.ask(relatedBooksQuery) | ||
-- | -- Schritt 4: Ergebnisse formatieren | ||
local | local output = "Band: " .. (totalVolumes and totalVolumes or "Unbekannt") .. "\n\n" | ||
output = output .. | output = output .. "Vorhandene Bände in der Bibliothek:\n" | ||
if relatedBooks then | |||
if | for title, data in pairs(relatedBooks) do | ||
output = output .. "* " .. (data["Band"] or "Unbekannter Band") .. ": [[" .. title .. "|" .. data["Titel"] .. "]]\n" | |||
output = output .. | end | ||
else | |||
output = output .. "Keine Bände in der Bibliothek gefunden." | |||
end | end | ||
return output | return output | ||
end | end | ||
return | return p |
Version vom 21. November 2024, 13:49 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Publikation/Buch/Doku erstellt werden
local smw = require('Module:SMW')
local p = {}
function p.getVolumesAndRelated(seriesID)
-- Schritt 1: Seitentitel der Serie ermitteln
local seriesTitle = smw.getFullPageTitle("[[SerienID::" .. seriesID .. "]]")
if not seriesTitle then
return "Keine Serie mit SerienID " .. seriesID .. " gefunden."
end
-- Schritt 2: Gesamtbände auslesen
local completeVolumes = smw.ask("[[" .. seriesTitle .. "]]|?Complete volumes|limit=1")
local totalVolumes = nil
if completeVolumes then
for _, data in pairs(completeVolumes) do
totalVolumes = data["Complete volumes"]
end
end
-- Schritt 3: Vorhandene Bände abrufen
local relatedBooksQuery = "[[Hat Serie::" .. seriesTitle .. "]]|?Titel|?Band|limit=100"
local relatedBooks = smw.ask(relatedBooksQuery)
-- Schritt 4: Ergebnisse formatieren
local output = "Band: " .. (totalVolumes and totalVolumes or "Unbekannt") .. "\n\n"
output = output .. "Vorhandene Bände in der Bibliothek:\n"
if relatedBooks then
for title, data in pairs(relatedBooks) do
output = output .. "* " .. (data["Band"] or "Unbekannter Band") .. ": [[" .. title .. "|" .. data["Titel"] .. "]]\n"
end
else
output = output .. "Keine Bände in der Bibliothek gefunden."
end
return output
end
return p