15.082
Bearbeitungen
(fix args.fbdata) |
(+ setStandardAttr() und val_show_only) |
||
| Zeile 41: | Zeile 41: | ||
function p.zeileKategorieSeite_(fbdata, kindex) | function p.zeileKategorieSeite_(fbdata, kindex) | ||
-- mw. | -- mw.logObject(fbdata, "zeileKategorieSeite_(fbdata, " .. (kindex or 1) .. ")") | ||
-- Konsolenzeile zum Debuggen: | -- Konsolenzeile zum Debuggen: | ||
-- =p.zeileKategorieSeite_({pagename="fpn",kategorie={"kat1","kat2"},klasse={"kla1","kla2"}}, 2) | -- =p.zeileKategorieSeite_({pagename="fpn",kategorie={"kat1","kat2"},klasse={"kla1","kla2"}}, 2) | ||
| Zeile 52: | Zeile 51: | ||
t = t .. "<dd>[[Seite::" .. fbdata.pagename .. "]]</dd>" | t = t .. "<dd>[[Seite::" .. fbdata.pagename .. "]]</dd>" | ||
end | end | ||
-- mw. | -- mw.logObject(t, "t") | ||
return t | return t | ||
end | end | ||
function p.zeileStrasseHnr_(fbdata) | function p.zeileStrasseHnr_(fbdata) | ||
-- mw. | -- mw.logObject(fbdata.strasse_hnr, "zeileStrasseHnr_(fbdata)") | ||
-- Konsolenzeile zum Debuggen: | -- Konsolenzeile zum Debuggen: | ||
-- =p.zeileStrasseHnr_{strasse_hnr={strasse={{name="Erlanger Straße",hausnummer={"11", "13"}},{name="XY Straße",hausnummer={}}},anzahlGebaeude=3}} | -- =p.zeileStrasseHnr_{strasse_hnr={strasse={{name="Erlanger Straße",hausnummer={"11", "13"}},{name="XY Straße",hausnummer={}}},anzahlGebaeude=3}} | ||
| Zeile 89: | Zeile 87: | ||
end | end | ||
t = t .. "{{#set:AnzahlGebäude=" .. fbdata.strasse_hnr.anzahlGebaeude .. "}}" | t = t .. "{{#set:AnzahlGebäude=" .. fbdata.strasse_hnr.anzahlGebaeude .. "}}" | ||
-- mw. | -- mw.logObject(t, "t") | ||
return t | return t | ||
end | end | ||
function p.zeileAktenNr_(fbdata) | function p.zeileAktenNr_(fbdata) | ||
-- mw. | -- mw.logObject(fbdata.pargs, "zeileAktenNr_(fbdata)") | ||
-- Konsolenzeile zum Debuggen: | -- Konsolenzeile zum Debuggen: | ||
-- =p.zeileAktenNr_{pargs={AktenNr="D-5-63-000-1464"}} | -- =p.zeileAktenNr_{pargs={AktenNr="D-5-63-000-1464"}} | ||
| Zeile 116: | Zeile 113: | ||
t = t .. "</dd>" | t = t .. "</dd>" | ||
end | end | ||
-- mw. | -- mw.logObject(t, "t") | ||
return t | return t | ||
end | end | ||
function p.zeileGeoDaten_(fbdata) | function p.zeileGeoDaten_(fbdata) | ||
-- mw. | -- mw.logObject(fbdata, "zeileGeoDaten(fbdata)") | ||
-- Konsolenzeile zum Debuggen: | -- Konsolenzeile zum Debuggen: | ||
-- fab = require("Modul:Faktenbox"); fbdata=fab.fbdata{pargs={}}; fbdata.fullpagename="Isaak-Loewi-Straße 1, 3, 5, 7, 9, Liesl-Kießling-Straße 16"; print(p.zeileGeoDaten_(fbdata)) | -- fab = require("Modul:Faktenbox"); fbdata=fab.fbdata{pargs={}}; fbdata.fullpagename="Isaak-Loewi-Straße 1, 3, 5, 7, 9, Liesl-Kießling-Straße 16"; print(p.zeileGeoDaten_(fbdata)) | ||
| Zeile 155: | Zeile 151: | ||
t = t .. "</dd>" | t = t .. "</dd>" | ||
end | end | ||
-- mw. | -- mw.logObject(t, "t") | ||
return t | return t | ||
end | end | ||
function p.zeileDatum_(args) | function p.zeileDatum_(args) | ||
-- mw. | -- mw.logObject(args, "zeileDatum_(args)") | ||
-- Konsolenzeile zum Debuggen: | -- Konsolenzeile zum Debuggen: | ||
-- =p.zeileDatum_{attr_date="Weihedatum",date="1959/11/15",attr_day="Weihetag",attr_year="Weihejahr"} | -- =p.zeileDatum_{attr_date="Weihedatum",date="1959/11/15",attr_day="Weihetag",attr_year="Weihejahr"} | ||
| Zeile 175: | Zeile 170: | ||
t = t .. "</dd>" | t = t .. "</dd>" | ||
end | end | ||
-- mw. | -- mw.logObject(t, "t") | ||
return t | return t | ||
end | end | ||
function p.zeileSemantikBrowsenAbfrage_(fbdata) | function p.zeileSemantikBrowsenAbfrage_(fbdata) | ||
-- mw. | -- mw.logObject(fbdata, "zeileSemantikBrowsenAbfrage_(fbdata)") | ||
-- Konsolenzeile zum Debuggen: | -- Konsolenzeile zum Debuggen: | ||
-- =p.zeileSemantikBrowsenAbfrage_{fullpagename="Rathaus"} | -- =p.zeileSemantikBrowsenAbfrage_{fullpagename="Rathaus"} | ||
| Zeile 192: | Zeile 186: | ||
end | end | ||
t = t .. "</dd></dl>" | t = t .. "</dd></dl>" | ||
-- mw. | -- mw.logObject(t, "t") | ||
return t | return t | ||
end | end | ||
function p.zeile_(args) | function p.zeile_(args) | ||
-- mw. | -- mw.logObject(args, "zeile(args)") | ||
-- Konsolenzeile zum Debuggen: | -- Konsolenzeile zum Debuggen: | ||
-- =p.zeile_{attr_name="Vorgänger",attr_text="t",fbdata={pargs={["Vorgänger"]="; v11 , V12 ; v13 (a(b))"}},attr_val="; v1 ; v2, v3 (a(b))",val_prefix="pre",val_postfix="post",exclude_bracket_values=true,delimiter=","} | -- =p.zeile_{attr_name="Vorgänger",attr_text="t",fbdata={pargs={["Vorgänger"]="; v11 , V12 ; v13 (a(b))"}},attr_val="; v1 ; v2, v3 (a(b))",val_prefix="pre",val_postfix="post",exclude_bracket_values=true,delimiter=","} | ||
| Zeile 236: | Zeile 229: | ||
t = t .. ", " -- Listen-Kommata | t = t .. ", " -- Listen-Kommata | ||
end | end | ||
if mw.smw.getPropertyType(attr_name) == "_wpg" then -- Seiten-Attribute Spezialbehandlung | if mw.smw.getPropertyType(attr_name) == "_wpg" then -- Seiten-Attribute Spezialbehandlung | ||
t = t .. p.setPageAttr(attr_name, val) | t = t .. p.setPageAttr(attr_name, val, args.val_show_only) | ||
else | else -- alle anderen Attribut-Datentypen | ||
t = t .. p.setStandardAttr(attr_name, val, args.exclude_bracket_values, args.val_show_only) | |||
end | end | ||
end | end | ||
| Zeile 261: | Zeile 240: | ||
t = t .. "</dd>" | t = t .. "</dd>" | ||
end | end | ||
-- mw. | -- mw.logObject(t, "t") | ||
return t | return t | ||
end | end | ||
function p.setPageAttr(name, val) | function p.setPageAttr(name, val, val_show_only) | ||
local t = "" | local t = "" | ||
if string.find(val, "[#=<>%[%]%|%{%}]") ~= nil then | if string.find(val, "[#=<>%[%]%|%{%}]") ~= nil then -- problematische Wikitext/HTML-Inhalte vorhanden? | ||
t = val .. "{{#set:" .. name .. "=" .. val .. "}}" | t = t .. val -- ==> kein Link, sondern nur Attribut versteckt setzen | ||
elseif wik.pageExists(val) then | if not val_show_only then | ||
t = "[[" .. name .. "::" .. val .. "]]" | t = t .. "{{#set:" .. name .. "=" .. val .. "}}" | ||
end | |||
elseif wik.pageExists(val) then -- eine vorhandene Seite regulär verlinken bzw. setzen | |||
if val_show_only then | |||
t = t .. "[[" .. val .. "]]" | |||
else | |||
t = t .. "[[" .. name .. "::" .. val .. "]]" | |||
end | |||
else | else | ||
val_pre_bracket, val_without_bracket, val_post_bracket = str.bracketSplitAndStrip(val) -- nach Klammern suchen und aufteilen | val_pre_bracket, val_without_bracket, val_post_bracket = str.bracketSplitAndStrip(val) -- nach Klammern suchen und aufteilen | ||
if not wik.pageExists(val_without_bracket) then | if not wik.pageExists(val_without_bracket) then -- Seite auch ohne Klammern nicht vorhanden? | ||
t = val .. "{{#set:" .. name .. "=" .. val .. "}}" | t = t .. val -- ==> kein Link, sondern nur Attribut versteckt setzen | ||
if not val_show_only then | |||
t = t .. "{{#set:" .. name .. "=" .. val .. "}}" | |||
end | |||
else | else | ||
if val_pre_bracket ~= "" then | if val_pre_bracket ~= "" then -- Klammer-Text vor eigentlicher Seite | ||
t = t .. val_pre_bracket .. " " | t = t .. val_pre_bracket .. " " | ||
end | end | ||
t = t .. "[[" .. name .. "::" .. val_without_bracket .. "]]" | if val_show_only then | ||
if val_post_bracket ~= "" then | t = t .. "[[" .. val_without_bracket .. "]]" -- das eigentliche Attribut verlinken | ||
else | |||
t = t .. "[[" .. name .. "::" .. val_without_bracket .. "]]" -- das eigentliche Attribut-Setzen | |||
end | |||
if val_post_bracket ~= "" then -- Klammer-Text nach eigentlicher Seite | |||
t = t .. " " .. val_post_bracket | t = t .. " " .. val_post_bracket | ||
end | end | ||
end | end | ||
end | end | ||
-- mw.logObject(t, "t") | |||
return t | |||
end | |||
function p.setStandardAttr(name, val, exclude_bracket_values, val_show_only) | |||
local t = "" | |||
local val_pre_bracket, val_post_bracket = "", "" | |||
if com.isTrue(exclude_bracket_values) then -- Klammer-Text separieren (kein Attribut-Wert) | |||
val_pre_bracket, val, val_post_bracket = str.bracketSplitAndStrip(val) -- nach Klammern suchen und aufteilen | |||
end | |||
if val_pre_bracket ~= "" then | |||
t = t .. val_pre_bracket .. " " | |||
end | |||
if com.isTrue(val_show_only) then | |||
t = t .. val | |||
else | |||
t = t .. "[[" .. name .. "::" .. val .. "]]" | |||
end | |||
if val_post_bracket ~= "" then | |||
t = t .. " " .. val_post_bracket | |||
end | |||
-- mw.logObject(t, "t") | |||
return t | return t | ||
end | end | ||
return p | return p | ||