Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 2: | Zeile 2: | ||
local getArgs = require('Module:Arguments').getArgs | local getArgs = require('Module:Arguments').getArgs | ||
-- Funktion | -- Funktion zum holen des Seitentitels mithilfe der Serien-ID | ||
function helper.getSeriesPageTitle( | function helper.getSeriesPageTitle(frame) | ||
if not mw.smw then | if not mw.smw then | ||
return "Semantic MediaWiki-Erweiterung nicht gefunden." | return "Semantic MediaWiki-Erweiterung nicht gefunden." | ||
end | end | ||
local | local queryResult = mw.smw.getQueryResult(frame.args) | ||
if not | -- Kein Ergebnis gefunden | ||
return "Keine | if not queryResult or not queryResult.results or not queryResult.results[1] then | ||
return "Keine Ergebnisse gefunden." | |||
end | end | ||
return | -- Seitentitel extrahieren | ||
local results = queryResult.results | |||
if results[1].fulltext then | |||
return results[1].fulltext | |||
else | |||
return "Kein Seitentitel gefunden." | |||
end | |||
end | end | ||
-- Funktion zur Extraktion der Gesamtbände | -- Funktion zur Extraktion der Gesamtbände aus der Serienseite | ||
function helper.getCompleteVolumesByTitle( | function helper.getCompleteVolumesByTitle(frame) | ||
if not mw.smw then | if not mw.smw then | ||
return "Semantic MediaWiki-Erweiterung nicht gefunden." | return "Semantic MediaWiki-Erweiterung nicht gefunden." | ||
end | end | ||
local query = "[[" .. | local page = frame.args[1] -- Seitentitel | ||
local attribute = frame.args[2] -- Attributname | |||
-- Überprüfen, ob die erforderlichen Parameter vorhanden sind | |||
if not page or not attribute then | |||
return "Seite oder Attribut nicht angegeben." | |||
end | |||
-- Abfrage erstellen | |||
local query = "[[" .. page .. "]]|?" .. attribute .. "|limit=1" | |||
local result = mw.smw.ask(query) | local result = mw.smw.ask(query) | ||
-- Kein Ergebnis gefunden | |||
if not result then | if not result then | ||
return "Keine Ergebnisse gefunden." | return "Keine Ergebnisse gefunden." | ||
end | end | ||
-- Ergebnis verarbeiten | |||
for title, data in pairs(result) do | for title, data in pairs(result) do | ||
if data[ | if data[attribute] then | ||
return tostring(data[ | return tostring(data[attribute]) | ||
end | end | ||
end | end | ||
return " | return "Attribut nicht gefunden." | ||
end | end | ||
return helper | return helper |
Version vom 22. November 2024, 19:24 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Publikation/Helper/Doku erstellt werden
local helper = {}
local getArgs = require('Module:Arguments').getArgs
-- Funktion zum holen des Seitentitels mithilfe der Serien-ID
function helper.getSeriesPageTitle(frame)
if not mw.smw then
return "Semantic MediaWiki-Erweiterung nicht gefunden."
end
local queryResult = mw.smw.getQueryResult(frame.args)
-- Kein Ergebnis gefunden
if not queryResult or not queryResult.results or not queryResult.results[1] then
return "Keine Ergebnisse gefunden."
end
-- Seitentitel extrahieren
local results = queryResult.results
if results[1].fulltext then
return results[1].fulltext
else
return "Kein Seitentitel gefunden."
end
end
-- Funktion zur Extraktion der Gesamtbände aus der Serienseite
function helper.getCompleteVolumesByTitle(frame)
if not mw.smw then
return "Semantic MediaWiki-Erweiterung nicht gefunden."
end
local page = frame.args[1] -- Seitentitel
local attribute = frame.args[2] -- Attributname
-- Überprüfen, ob die erforderlichen Parameter vorhanden sind
if not page or not attribute then
return "Seite oder Attribut nicht angegeben."
end
-- Abfrage erstellen
local query = "[[" .. page .. "]]|?" .. attribute .. "|limit=1"
local result = mw.smw.ask(query)
-- Kein Ergebnis gefunden
if not result then
return "Keine Ergebnisse gefunden."
end
-- Ergebnis verarbeiten
for title, data in pairs(result) do
if data[attribute] then
return tostring(data[attribute])
end
end
return "Attribut nicht gefunden."
end
return helper