22.458
Bearbeitungen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 398: | Zeile 398: | ||
local lemma = wik.subpagename() | local lemma = wik.subpagename() | ||
local zeige_nicht_in_attr = "ZeigeNichtIn" .. zeige_nicht_in -- ZeigeNichtInOrt/ZeigeNichtInStraße/.. | local zeige_nicht_in_attr = "ZeigeNichtIn" .. zeige_nicht_in -- ZeigeNichtInOrt/ZeigeNichtInStraße/.. | ||
-- Datei-Selektor für SMD-Abfrage | |||
local page_selector = | local page_selector = | ||
"[[Datei:+]]" .. | "[[Datei:+]]" .. | ||
| Zeile 452: | Zeile 453: | ||
end | end | ||
function p. | function p.GalerieAufbereiten(frame) | ||
local t = "" | local t = "" | ||
local lemma = wik.subpagename() | local lemma = wik.subpagename() | ||
local zeige_nicht_in = frame.args[1] -- Straße, Ort oder ... | local zeige_nicht_in = frame.args[1] -- Straße, Ort oder ... | ||
local zeige_nicht_in_attr = "ZeigeNichtIn" .. zeige_nicht_in | local zeige_nicht_in_attr = "ZeigeNichtIn" .. zeige_nicht_in | ||
-- Datei-Liste in SMD abfragen und als Tabelle aufbereiten | |||
" | local query = {page_selector, | ||
"[[Datei:+]]" .. | |||
" | "[[" .. zeige_nicht_in .. "::" .. lemma .. "]]" .. -- Ort/Straße/.. = Lemma | ||
"[[" .. zeige_nicht_in_attr .. "Formulareintrag::!Ja]]", -- Formular-Eintrag von ZeigeNichtIn... | |||
" | "?#-", mainlabel = "-", limit = 10000} | ||
query = mw.smw.ask(query) or {} | |||
local | local dateien = {} | ||
for _, d in ipairs(query) do | |||
dateien[d] = true | |||
end | |||
-- nicht anzuzeigende Dateien gemäß Formular wieder austragen | |||
for d, z in pairs(frame:getParent().args) do -- d = Dateiname (ohne Datei:) | for d, z in pairs(frame:getParent().args) do -- d = Dateiname (ohne Datei:) | ||
if com.isTrue(z) then -- z = Ja/Nein | if com.isTrue(z) then -- z = Ja/Nein | ||
dateien["Datei:" .. d] = nil | |||
end | end | ||
end | end | ||
-- Anzuzeigende Dateien als Subobjekte setzen | |||
for d, _ in ipairs(dateien) do | |||
mw.smw.subject{["Seite"] = d} | |||
end | |||
-- Formular setzen | -- Formular setzen | ||
t = t .. frame:callParserFunction( | t = t .. frame:callParserFunction( | ||
"#default_form", "Datei/" .. zeige_nicht_in_attr .. "/Work") | "#default_form", "Datei/" .. zeige_nicht_in_attr .. "/Work") | ||
-- Wikitext Preprocess | -- Wikitext Preprocess | ||
return | return t | ||
end | end | ||
return p | return p | ||