Modul:Wörterbuch/Work: Unterschied zwischen den Versionen
Aus FürthWiki
(Die Seite wurde neu angelegt: „local p = {} local com = require("Modul:Common") local smw = require("Modul:SMW") local wik = require("Modul:Wiki") local str = require("Modul:String") function p.Mehrzahl(frame) return p.mehrzahl(frame.args[1] or "") end function p.mehrzahl(ez) local mehrzahl = { -- ACHTUNG! ["Attribut"] = "Attribute", -- Die Mehrzahl-Einträge beim Attribut haben Vorrang! ["Audio"] = "Audios", ["Buchreihe"] = "Buchreihen", ["F…“) |
Keine Bearbeitungszusammenfassung |
||
| Zeile 4: | Zeile 4: | ||
local smw = require("Modul:SMW") | local smw = require("Modul:SMW") | ||
local wik = require("Modul:Wiki") | local wik = require("Modul:Wiki") | ||
function p.Mehrzahl(frame) | function p.Mehrzahl(frame) | ||
| Zeile 45: | Zeile 44: | ||
end | end | ||
function p.getEntry(entry | function p.getEntry(page, entry) | ||
-- Kommandozeilen zum Debuggen: | -- Kommandozeilen zum Debuggen: | ||
-- | -- mw.logObject(p.getEntry("Testberuf","MehrzahlFemininum")) | ||
local val | |||
page = page or wik.fullpagename() | page = page or wik.fullpagename() | ||
local | local query = mw.smw.ask("[[" .. page .. "]]|?Wörterbuch") or {} | ||
for | query = query[1]["Wörterbuch"] | ||
if query ~= nil then | |||
val = {} | |||
for i, q in ipairs(query) do | |||
local delim_start, delim_end = string.find(q, ":") | |||
val[string.sub(q, 1, delim_start - 1)] = | |||
string.sub(q, delim_end + 1) | |||
end | |||
if entry ~= nil then | |||
val = val[entry] | |||
end | |||
end | end | ||
return val | return val | ||
Version vom 21. Februar 2026, 10:54 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Wörterbuch/Work/Doku erstellt werden
local p = {}
local com = require("Modul:Common")
local smw = require("Modul:SMW")
local wik = require("Modul:Wiki")
function p.Mehrzahl(frame)
return p.mehrzahl(frame.args[1] or "")
end
function p.mehrzahl(ez)
local mehrzahl = { -- ACHTUNG!
["Attribut"] = "Attribute", -- Die Mehrzahl-Einträge beim Attribut haben Vorrang!
["Audio"] = "Audios",
["Buchreihe"] = "Buchreihen",
["Faktenbox"] = "Faktenboxen",
["Grundstück"] = "Grundstücke",
["Jahrestag"] = "Jahrestage",
["Monat"] = "Monate",
["Publikation"] = "Publikationen",
["Stadtwiki"] = "Stadtwikis",
["Video"] = "Videos",
}
-- Attribut-Wörterbuch abfragen
local query = {"[[Attribut:+]]" ..
"[[SubObjektTyp::AttributKlasse]]" ..
"[[Einzahl::" .. ez .. "]]",
"?Mehrzahl", mainlabel = "-"}
query = mw.smw.ask(query) or {{}}
return query[1]["Mehrzahl"] or mehrzahl[ez] or ez
end
function p.setEntry(entry, val, attrlist)
-- Kommandozeilen zum Debuggen:
-- attrlist={}; p.setEntry("e", "v", attrlist); mw.logObject(attrlist)
if not com.isEmpty(val) then
entry = entry .. ":" .. val
if attrlist ~= nil then
smw.addAttrToList(attrlist, "Wörterbuch", entry)
else
mw.smw.set{["Wörterbuch"] = entry}
end
end
end
function p.getEntry(page, entry)
-- Kommandozeilen zum Debuggen:
-- mw.logObject(p.getEntry("Testberuf","MehrzahlFemininum"))
local val
page = page or wik.fullpagename()
local query = mw.smw.ask("[[" .. page .. "]]|?Wörterbuch") or {}
query = query[1]["Wörterbuch"]
if query ~= nil then
val = {}
for i, q in ipairs(query) do
local delim_start, delim_end = string.find(q, ":")
val[string.sub(q, 1, delim_start - 1)] =
string.sub(q, delim_end + 1)
end
if entry ~= nil then
val = val[entry]
end
end
return val
end
return p