Die Dokumentation für dieses Modul kann unter Modul:Vorlage:BAnz/Doku erstellt werden
local function fault( alert )
-- Format message with class="error"
-- alert -- string, with message
-- Returns message with markup
return string.format( "<span class=\"error\">%s</span>", alert )
end -- fault()
-- Export
local p = { }
function p.linkBAnz(arg)
local name = arg
if string.match(name, "( )") == " " then error("die Angabe enthält ein überschüssiges Leerzeichen") end
pre,tag,monat,jahr,rubrik = string.match(name, "(%a+) (%d+)%.(%d+)%.(%d+) (%w+)")
elektronisch = false
if not pre then
elektronisch = true
pre,jahr,rubrik = string.match(name, "(%a+%d+) (%d%d%d%d) (%w+)")
url = 'https://www.bundesanzeiger.de/ebanzwww/wexsservlet?genericsearch_param.start_date%3A0=01&genericsearch_param.start_date%3A1=01&genericsearch_param.start_date%3A2='..jahr..'&genericsearch_param.stop_date%3A0=31&genericsearch_param.stop_date%3A1=12&genericsearch_param.stop_date%3A2='..jahr..'&%28page.navid%3Ddetailsearchlisttodetailsearchlistupdateresetpage%29=Dokumente+anzeigen&genericsearch_param.fulltext=eBAnz+'..pre..'+'..jahr..'+'..rubrik
lbl = 'eBAnz '..pre..' '..jahr..' '..rubrik
else
url = 'https://www.bundesanzeiger.de/ebanzwww/wexsservlet?genericsearch_param.start_date%3A0='..tag..'&genericsearch_param.start_date%3A1='..monat..'&genericsearch_param.start_date%3A2='..jahr..'&genericsearch_param.stop_date%3A0='..tag..'&genericsearch_param.stop_date%3A1='..monat..'&genericsearch_param.stop_date%3A2='..jahr..'&%28page.navid%3Ddetailsearchlisttodetailsearchlistupdateresetpage%29=Dokumente+anzeigen&genericsearch_param.fulltext=BAnz+'..pre..'+'..tag..'.'..monat..'.'..jahr..'+'..rubrik
lbl = 'BAnz '..pre..' '..tag..'.'..monat..'.'..jahr..' '..rubrik
end
mname = {"Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"}
rart, rnr = string.match(rubrik, "(%a)(%d+)")
art = "unbekannte Rubrik"
if rart == "V" then art = "Verkündung"
elseif rart == "B" then art = "Bekanntmachung"
elseif rart == "A" then art = "Ausschreibung"
elseif rart == "S" then art = "Rubrik Sonstiges"
elseif rart == "H" then art = "Hinweis"
end
if rnr == nil then error("am Ende der Angabe wird eine Rubrik und eine Nummer erwartet, z. B. 'B1'") end
if elektronisch then
nr = string.match(pre, "AT(%d+)")
abbr = "<abbr title=\"Amtlicher Teil des elektronischen Bundesanzeigers Ausgabe " .. nr .. " Jahrgang " .. jahr .. " " .. art .. " " .. rnr .. "\">"
else
abbr = "<abbr title=\"Amtlicher Teil des Bundesanzeigers vom " .. (tag + 0) .. ". " .. mname[monat + 0] .. " " .. jahr .. ", " .. art .. " " .. rnr .. "\">"
end
return '['..url..' '..abbr..lbl.."</abbr>"..']'
end
function p.nospc(frame)
local name = frame.args[1]
if not name then
name = ''
end
name,_ = string.gsub(name,' ','+')
return name
end
function p.srchbanz(frame)
local lucky, r = pcall( p.linkBAnz, frame.args[1] )
if not lucky then
r = fault( "Parameterfehler in [[Vorlage:BAnz]]: " ) .. r
.. "[[Kategorie:Wikipedia:Vorlagenfehler/Vorlage:BAnz]]"
end
return r
end
return p