Modul:Faktenbox/Zeilen: Unterschied zwischen den Versionen

+ setStandardAttr() und val_show_only
(fix args.fbdata)
(+ setStandardAttr() und val_show_only)
Zeile 41: Zeile 41:


function p.zeileKategorieSeite_(fbdata, kindex)
function p.zeileKategorieSeite_(fbdata, kindex)
-- mw.log("zeileKategorieSeite_(fbdata, " .. (kindex or 1) .. ")")
-- mw.logObject(fbdata, "zeileKategorieSeite_(fbdata, " .. (kindex or 1) .. ")")
-- mw.logObject(fbdata)
-- 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.log("t = " .. t)
-- mw.logObject(t, "t")
return t
return t
end
end


function p.zeileStrasseHnr_(fbdata)
function p.zeileStrasseHnr_(fbdata)
-- mw.log("zeileStrasseHnr_(fbdata)")
-- mw.logObject(fbdata.strasse_hnr, "zeileStrasseHnr_(fbdata)")
-- mw.logObject(fbdata.strasse_hnr)
-- 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.log("t = " .. t)
-- mw.logObject(t, "t")
return t
return t
end
end


function p.zeileAktenNr_(fbdata)
function p.zeileAktenNr_(fbdata)
-- mw.log("zeileAktenNr_(fbdata)")
-- mw.logObject(fbdata.pargs, "zeileAktenNr_(fbdata)")
-- mw.logObject(fbdata.pargs)
-- 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.log("t=" .. t)
-- mw.logObject(t, "t")
return t
return t
end
end


function p.zeileGeoDaten_(fbdata)
function p.zeileGeoDaten_(fbdata)
-- mw.log("zeileGeoDaten()")
-- mw.logObject(fbdata, "zeileGeoDaten(fbdata)")
-- mw.logObject(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.log("t = " .. t)
-- mw.logObject(t, "t")
return t
return t
end
end


function p.zeileDatum_(args)
function p.zeileDatum_(args)
-- mw.log("zeileDatum_(args)")
-- mw.logObject(args, "zeileDatum_(args)")
-- mw.logObject(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.log("t = " .. t)
-- mw.logObject(t, "t")
return t
return t
end
end


function p.zeileSemantikBrowsenAbfrage_(fbdata)
function p.zeileSemantikBrowsenAbfrage_(fbdata)
-- mw.log("zeileSemantikBrowsenAbfrage_(fbdata)")
-- mw.logObject(fbdata, "zeileSemantikBrowsenAbfrage_(fbdata)")
-- mw.logObject(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.log("t = " .. t)
-- mw.logObject(t, "t")
return t
return t
end
end


function p.zeile_(args)
function p.zeile_(args)
-- mw.log("zeile(args)")
-- mw.logObject(args, "zeile(args)")
-- mw.logObject(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 -- alle anderen Attribut-Datentypen
else -- alle anderen Attribut-Datentypen
local val_pre_bracket, val_post_bracket = "", ""
t = t .. p.setStandardAttr(attr_name, val, args.exclude_bracket_values, args.val_show_only)
if com.isTrue(args.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(args.val_show_only) then
t = t .. val
else
t = t .. "[[" .. attr_name .. "::" .. val .. "]]"
end
if val_post_bracket ~= "" then
t = t .. " " .. val_post_bracket
end
end
end
end
end
Zeile 261: Zeile 240:
t = t .. "</dd>"
t = t .. "</dd>"
end
end
-- mw.log("t = " .. t)
-- 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 -- problematische Wikitext/HTML-Inhalte vorhanden?
if string.find(val, "[#=<>%[%]%|%{%}]") ~= nil then -- problematische Wikitext/HTML-Inhalte vorhanden?
t = val .. "{{#set:" .. name .. "=" .. val .. "}}" -- ==> kein Link, sondern nur Attribut versteckt setzen
t = t .. val -- ==> kein Link, sondern nur Attribut versteckt setzen
elseif wik.pageExists(val) then -- eine vorhandene Seite regulär setzen
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 -- Seite auch ohne Klammern nicht vorhanden?
if not wik.pageExists(val_without_bracket) then -- Seite auch ohne Klammern nicht vorhanden?
t = val .. "{{#set:" .. name .. "=" .. val .. "}}" -- ==> kein Link, sondern nur Attribut versteckt setzen
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 -- Klammer-Text vor eigentlicher Seite
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 .. "]]" -- das eigentliche Attribut-Setzen
if val_show_only then
if val_post_bracket ~= "" then -- Klammer-Text nach eigentlicher Seite
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