Modul:Vorlage:DtRechtswörterbuch
Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | ||
Modul | Deutsch
|
Modul: | Dokumentation |
Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus
Dies ist die (produktive) Mutterversion eines global benutzten Lua-Moduls.
Wenn die serial-Information nicht übereinstimmt, müsste eine Kopie hiervon in das lokale Wiki geschrieben werden.
Wenn die serial-Information nicht übereinstimmt, müsste eine Kopie hiervon in das lokale Wiki geschrieben werden.
Versionsbezeichnung auf WikiData:
2024-05-15
Updating notwendig
(lokal:2024-05-13
)local DRW = { suite = "DtRechtswörterbuch",
serial = "2024-05-13",
item = 124723073 }
--[=[
{{DtRechtswörterbuch}}
]=]
local Failsafe = DRW
local Band = { [1] = "aachenfahrt",
[2] = "bergkaue",
[3] = "entschuldigen",
[4] = "geleitlich",
[5] = "handanlegen",
[6] = "hufenwirt",
[7] = "kanzlei",
[8] = "kronungsakt",
[9] = "mahlgericht",
[10] = "notsache",
[11] = "rat",
[12] = "sau",
[13] = "schwefel",
[14] = "stegreif",
[15] = "trittrechtXXXXXXXXXXXXXXXXX" }
local Heft = { [1] = { { s="aach", H="1", J=1914 },
{ s="ablegen", H="1", J=1914, K="Fortsetzung im Folgeheft" },
{ s="ableger", H="2", K="Erscheinungsdatum zwischen 1914 und 1930" },
{ s="abtrieb", H="2", K="Erscheinungsdatum zwischen 1914 und 1930, Fortsetzung im Folgeheft" },
{ s="abtriebs", H="3", K="Erscheinungsdatum zwischen 1914 und 1930" },
{ s="allerschwer", H="3", K="Erscheinungsdatum zwischen 1914 und 1930, Fortsetzung im Folgeheft" },
{ s="allerunter", H="4", K="Erscheinungsdatum zwischen 1914 und 1930" },
{ s="angehorig", H="4", K="Erscheinungsdatum zwischen 1914 und 1930, Fortsetzung im Folgeheft" },
{ s="angehorigk", H="5", J=1963, DNB=453942571, JahrEA=1930 },
{ s="anzunden", H="6", J=1963, DNB=453942598, JahrEA=1931 },
{ s="auftragen", H="6", J=1963, DNB=453942598, JahrEA=1931, K="Fortsetzung im Folgeheft" },
{ s="auftrager", H="7", K="Erscheinungsdatum 1931 oder 1932" },
{ s="austeilen", H="7", K="Erscheinungsdatum 1931 oder 1932, Fortsetzung im Folgeheft" },
{ s="austeiler", H="8", J=1962, OCLC=934824402, K="Erstausgabe: 1931 oder 1932" },
{ s="bauersame", H="8", J=1962, OCLC=934824402, K="Erstausgabe: 1931 oder 1932, Fortsetzung im Folgeheft" },
{ s="bauerschaft", H="9", K="Erscheinungsdatum 1931 oder 1932" },
{ s="behalten", H="9", K="Fortsetzung im Folgeheft" },
{ s="behaltensgeld", H="10", J=1932 } },
[2] = { { s="bergkaue", H="1", K="Erscheinungsdatum 1932 oder 1933" },
{ s="besserung", H="1", K="Erscheinungsdatum 1932 oder 1933, Fortsetzung im Folgeheft" },
{ s="besserungs", H="2", K="Erscheinungsdatum 1932 oder 1933" },
{ s="biergeld", H="2", K="Erscheinungsdatum 1932 oder 1933, Fortsetzung im Folgeheft" },
{ s="biergeldein", H="3", K="Erscheinungsdatum 1932 oder 1933" },
{ s="brechen", H="3", K="Erscheinungsdatum 1932 oder 1933, Fortsetzung im Folgeheft" },
{ s="brecher", H="4", K="Erscheinungsdatum 1932 oder 1933" },
{ s="burgschuldner", H="5", J=1963, DNB=453942601, JahrEA=1933 },
{ s="dieb", H="5", J=1963, DNB=453942601, JahrEA=1933, K="Fortsetzung im Folgeheft" },
{ s="dieba", H="6", K="Erscheinungsdatum zwischen 1933 und 1935" },
{ s="dingen", H="6", K="Erscheinungsdatum zwischen 1933 und 1935, Fortsetzung im Folgeheft" },
{ s="dinger", H="7", K="Erscheinungsdatum zwischen 1933 und 1935" },
{ s="dritte", H="7", K="Erscheinungsdatum zwischen 1933 und 1935, Fortsetzung im Folgeheft" },
{ s="dritteil", H="8", K="Erscheinungsdatum zwischen 1933 und 1935" },
{ s="ehrenhaft", H="8", K="Erscheinungsdatum zwischen 1933 und 1935, Fortsetzung im Folgeheft" },
{ s="ehrhaft", H="9", K="Erscheinungsdatum zwischen 1933 und 1935" },
{ s="einreiten", H="9", K="Erscheinungsdatum zwischen 1933 und 1935, Fortsetzung im Folgeheft" },
{ s="einreitung", H="10", J=1935 } },
[3] = { { s="entschuldigen", H="1", J=1935 },
{ s="erbzins", H="1", K="Erscheinungsdatum zwischen 1935 und 1938, Fortsetzung im Folgeheft" },
{ s="erbzinsbrief", H="2", K="Erscheinungsdatum zwischen 1935 und 1938" },
{ s="erzschatzmeistera", H="3", K="Erscheinungsdatum zwischen 1935 und 1938" },
{ s="feldlegung", H="4", K="Erscheinungsdatum zwischen 1935 und 1938" },
{ s="forstgericht", H="4", K="Erscheinungsdatum zwischen 1935 und 1938, Fortsetzung im Folgeheft" },
{ s="forstgerichtbote", H="5", K="Erscheinungsdatum zwischen 1935 und 1938" },
{ s="freimarkthandel", H="6", K="Erscheinungsdatum zwischen 1935 und 1938" },
{ s="fromm", H="6", K="Erscheinungsdatum zwischen 1935 und 1938, Fortsetzung im Folgeheft" },
{ s="frommde", H="7", K="Erscheinungsdatum zwischen 1935 und 1938" },
{ s="futterschutt", H="7", K="Erscheinungsdatum zwischen 1935 und 1938, Fortsetzung im Folgeheft" },
{ s="futterst", H="8", K="Erscheinungsdatum zwischen 1935 und 1938" },
{ s="gebrauchen", H="8", K="Erscheinungsdatum zwischen 1935 und 1938, Fortsetzung im Folgeheft" },
{ s="gebraucher", H="9", K="Erscheinungsdatum zwischen 1935 und 1938" },
{ s="gegenbeweis", H="9", K="Erscheinungsdatum zwischen 1935 und 1938, Fortsetzung im Folgeheft" },
{ s="gegenbeweisart", H="10", J=1938 } },
[4] = { { s="geleitlich", H="1", J=1939 }, --OCLC=832566394 (Heft 1 bis 5) v. Knüßberg † 1941
{ s="gemeinderechtob", H="2", K="Erscheinungsdatum zwischen 1939 und 1941" },
{ s="gerichtsbehellig", H="2", K="Erscheinungsdatum zwischen 1939 und 1941, Fortsetzung im Folgeheft" },
{ s="gerichtsbehorde", H="3", K="Erscheinungsdatum zwischen 1939 und 1941" },
{ s="geschworen", H="3", K="Erscheinungsdatum zwischen 1939 und 1941, Fortsetzung im Folgeheft" },
{ s="geschworene", H="4", OCLC=934824441, K="Erscheinungsdatum zwischen 1939 und 1941" },
{ s="gewahr", H="4", OCLC=934824441, K="Erscheinungsdatum zwischen 1939 und 1941, Fortsetzung im Folgeheft" },
{ s="gewahrab", H="5", K="Erscheinungsdatum zwischen 1939 und 1941" },
{ s="gewissbier", H="6", K="Erscheinungsdatum zwischen 1941 und 1944" },
{ s="glucksfall", H="6", K="Erscheinungsdatum zwischen 1941 und 1944, Fortsetzung im Folgeheft" },
{ s="glucksgeld", H="7", J=1963, DNB=453942628, JahrEA=1944 },
{ s="gross", H="7", J=1963, DNB=453942628, JahrEA=1944, K="Fortsetzung im Folgeheft" },
{ s="grossacht", H="8", K="Erscheinungsdatum zwischen 1944 und 1951"},
{ s="gurtel", H="9", K="Erscheinungsdatum zwischen 1944 und 1951" },
{ s="halb", H="9", K="Erscheinungsdatum zwischen 1944 und 1951, Fortsetzung im Folgeheft" },
{ s="halbacht", H="10", J=1951 } },
[5] = { { s="handanlegen", H="1", J=1952 }, -- (1964, OCLC 832566394 H.1-5)
{ s="handwerksknecht", H="1", K="Erscheinungsdatum zwischen 1952 und 1960, Fortsetzung im Folgeheft" },
{ s="handwerkskomm", H="2", K="Erscheinungsdatum zwischen 1952 und 1960" },
{ s="hauptmann", H="2", K="Erscheinungsdatum zwischen 1952 und 1960, Fortsetzung im Folgeheft" },
{ s="hauptmannamt", H="3", K="Erscheinungsdatum zwischen 1952 und 1960" },
{ s="hauswesen", H="3", K="Erscheinungsdatum zwischen 1952 und 1960, Fortsetzung im Folgeheft" },
{ s="hauswiese", H="4", K="Erscheinungsdatum zwischen 1952 und 1960" },
{ s="heimstellen", H="4", K="Erscheinungsdatum zwischen 1952 und 1960, Fortsetzung im Folgeheft" },
{ s="heimstellung", H="5", K="Erscheinungsdatum zwischen 1952 und 1960" },
{ s="herr", H="5", K="Erscheinungsdatum zwischen 1952 und 1960, Fortsetzung im Folgeheft" },
{ s="herra", H="6", J=1966, OCLC=832566397, K="Erstausgabe zwischen 1952 und 1960" },
{ s="hilfe", H="6", J=1966, OCLC=832566397, K="Erstausgabe zwischen 1952 und 1960, Fortsetzung im Folgeheft" },
{ s="hilfebu", H="7", J=1966, OCLC=832566407, K="Erstausgabe zwischen 1952 und 1960" },
{ s="hochgerichtsmark", H="8", J=1967, OCLC=832566414, K="Erstausgabe zwischen 1952 und 1960" },
{ s="hofling", H="8", J=1967, OCLC=832566414, K="Erstausgabe zwischen 1952 und 1960, Fortsetzung im Folgeheft" },
{ s="hoflivree", H="9", K="Erscheinungsdatum zwischen 1952 und 1960" },
{ s="holzangelegenheit", H="10", J=1967, OCLC=832566857, JahrEA=1960 } },
[6] = { { s="hufenwirt", H="1", J=1961, OCLC=832566867 },
{ s="hutschaft", H="1", J=1961, OCLC=832566867, K="Fortsetzung im Folgeheft" },
{ s="hutschaftord", H="2", J=1962 },
{ s="irren", H="2", J=1962, K="Fortsetzung im Folgeheft" },
{ s="irrenanst", H="3", J=1963 },
{ s="jakobspfrunde", H="4", J=1964, OCLC=833208293 },
{ s="justizgebrechen", H="5", J=1965, OCLC=832566941 },
{ s="kammeramt", H="5", J=1965, OCLC=832566941, K="Fortsetzung im Folgeheft" },
{ s="kammeramtleut", H="6", J=1966, OCLC=832566952 },
{ s="kammerratschlag", H="6", J=1966, OCLC=832566952, K="Fortsetzung im Folgeheft" },
{ s="kammerratsdiat", H="7", J=1967, OCLC=833208342 },
{ s="kante", H="7", J=1967, OCLC=833208342, K="Fortsetzung im Folgeheft" },
{ s="kanten", H="8", J=1971, OCLC=832566989 },
{ s="kantonsstatthalt", H="8", J=1971, OCLC=832566989, K="Fortsetzung im Folgeheft" },
{ s="kantonsstelle", H="9/10", J=1972, OCLC=833208357 } }, -- Spalten 1281-1530
[7] = { { s="kanzlei", H="1", J=1974, OCLC=832567026 },
{ s="kanzleipers", H="1", J=1974, OCLC=832567026, K="Fortsetzung im Folgeheft" },
{ s="kanzleipet", H="2", J=1975, OCLC=832567064 },
{ s="kaperschiff", H="2", J=1975, OCLC=832567064, K="Fortsetzung im Folgeheft" },
{ s="kapfermeister", H="3", J=1976, OCLC=836723786 },
{ s="kasernbeitrag", H="3", J=1976, OCLC=836723786, K="Fortsetzung im Folgeheft" },
{ s="kasernegen", H="4", J=1977, OCLC=923299016 },
{ s="kaufmannswahrung", H="4", J=1977, OCLC=923299016, K="Fortsetzung im Folgeheft" },
{ s="kaufmannsware", H="5", J=1978, OCLC=832567094 },
{ s="kiesen", H="6", J=1979, OCLC=718486457 },
{ s="kirchfahrt", H="6", J=1979, OCLC=718486457, K="Fortsetzung im Folgeheft" },
{ s="kirchfrau", H="7", J=1980, OCLC=718486466 },
{ s="klosterverwalter", H="7", J=1980, OCLC=718486466, K="Fortsetzung im Folgeheft" },
{ s="klosterverwaltung", H="8", J=1981, OCLC=832567114 },
{ s="konzil", H="8", J=1981, OCLC=832567114, K="Fortsetzung im Folgeheft" },
{ s="konzilien", H="9", J=1982, OCLC=832567132 },
{ s="kreisbrief", H="10", J=1983, OCLC=832567164 } },
[8] = { { s="kronungsakt", H="1", J=1984, OCLC=832567170 },
{ s="kurgericht", H="1", J=1984, OCLC=832567170, K="Fortsetzung im Folgeheft" },
{ s="kurgerichtsord", H="2", J=1985, OCLC=832567175 },
{ s="Land", H="2", J=1985, OCLC=832567175, K="Fortsetzung im Folgeheft" },
{ s="landacht", H="3", J=1986, ISBN="3-7400-0006-6" },
{ s="landknecht", H="3", J=1986, ISBN="3-7400-0006-6", K="Fortsetzung im Folgeheft" }, -- (es)
{ s="landknechtgabe", H="4", J=1987, ISBN="3-7400-0007-4" }, -- (es)
{ s="landsteuer", H="4", J=1987, ISBN="3-7400-0007-4", K="Fortsetzung im Folgeheft" }, -- (es)
{ s="landsteuerbark", H="5/6", J=1988, ISBN="3-7400-0075-9" }, -- (es)
{ s="lehnmann", H="5/6", J=1988, ISBN="3-7400-0075-9", K="Fortsetzung im Folgeheft" }, -- (s)
{ s="lehnmanndienst", H="7/8", J=1989, ISBN="3-7400-0096-1" }, -- (s)
{ s="leutnant", H="7/8", J=1989, ISBN="3-7400-0096-1", K="Fortsetzung im Folgeheft" },
{ s="leutnantsbefehl", H="9/10", J=1991, ISBN="3-7400-0137-2" } },
[9] = { { s="mahlgericht", H="1/2", J=1992, ISBN="3-7400-0167-4" },
{ s="martin", H="1/2", J=1992, ISBN="3-7400-0167-4", K="Fortsetzung im Folgeheft" },
{ s="martinabend", H="3/4", J=1993, ISBN="3-7400-0926-8" },
{ s="minderjahrig", H="3/4", J=1993, ISBN="3-7400-0926-8", K="Fortsetzung im Folgeheft" },
{ s="minderjahrige", H="5/6", J=1994, ISBN="3-7400-0966-7" },
{ s="mullerherberge", H="7/8", J=1995, ISBN="3-7400-0982-9" },
{ s="nachteil", H="7/8", J=1995, ISBN="3-7400-0982-9", K="Fortsetzung im Folgeheft" },
{ s="nachteile", H="9/10", J=1996, ISBN="3-7400-0983-7" } },
[10] = { { s="notsache", H="1/2", J=1997, ISBN="3-7400-0984-5" },
{ s="opferbar", H="1/2", J=1997, ISBN="3-7400-0984-5", K="Fortsetzung im Folgeheft" },
{ s="opferbare", H="3/4", J=1998, ISBN="3-7400-0985-3" },
{ s="pfaffenfurst", H="3/4", J=1998, ISBN="3-7400-0985-3", K="Fortsetzung im Folgeheft" },
{ s="pfaffengarten", H="5/6", J=1999, ISBN="3-7400-0986-1" },
{ s="pflicht", H="5/6", J=1999, ISBN="3-7400-0986-1", K="Fortsetzung im Folgeheft" },
{ s="pflichtbar", H="7/8", J=2000, ISBN="3-7400-0988-8" },
{ s="prinzipalfo", H="9/10", J=2001, ISBN="3-7400-0989-6" } },
[11] = { { s="rat", H="1/2", J=2003, ISBN="3-7400-0991-8" },
{ s="rechtbestandig", H="3/4", J=2004, ISBN="3-7400-0992-6" },
{ s="reichshofratspro", H="5/6", J=2005, ISBN="3-7400-1230-7" },
{ s="reuen", H="7/8", J=2006, ISBN="3-7400-1231-5" },
{ s="rufamt", H="9/10", J=2007, ISBN="978-3-7400-1240-3" } },
[12] = { { s="sau", H="1/2", J=2009, ISBN="978-3-7400-1245-8" },
{ s="schaub", H="3/4", J=2010, ISBN="978-3-7400-1254-0" },
{ s="schilling", H="5/6", J=2011, ISBN="978-3-7400-1260-1" },
{ s="schnappreitel", H="7/8", J=2012, ISBN="978-3-7400-1262-5" },
{ s="schuld", H="7/8", J=2012, ISBN="978-3-7400-1262-5", K="Fortsetzung im Folgeheft" },
{ s="schuldakt", H="9/10", J=2013, ISBN="978-3-7400-1263-2" } },
[13] = { { s="schwefel", H="1/2", J=2014, ISBN="978-3-7400-1268-7" },
{ s="selchen", H="3/4", J=2015, ISBN="978-3-7400-1270-0" },
{ s="sittenrichter", H="5/6", J=2016, ISBN="978-3-7400-1272-4" },
{ s="spiess", H="7/8", J=2017, ISBN="978-3-476-04538-6" },
{ s="stadtkanzler", H="9/10", J=2018, ISBN="978-3-476-04722-9" } },
[14] = { { s="stegreif", H="1/2", J=2019, ISBN="978-3-476-05156-1" },
{ s="stock", H="3/4", J=2021, ISBN="978-3-662-62594-1" },
{ s="subjekt", H="5/6", J=2022, ISBN="978-3-662-64943-5" },
{ s="taugbar", H="7/8", J=2023, ISBN="978-3-662-66995-2" },
{ s="tor", H="9/10", J=2024, ISBN="978-3-662-69377-3" } } }
function fair( args, arg )
local r = args[ arg ]
if r then
if type( arg ) == "number" then
r = mw.text.trim( r )
end
if r == "" then
r = nil
end
end
return r
end -- fair()
function findeBand( attempt )
local r
for i = 1, #Band do
if attempt < Band[ i ] then
r = i - 1
break -- for i
end
end -- for i
if not r then
r = 0
end
return r
end -- findeBand()
function findeHeft( at, attempt )
local band = Heft[ at ]
local r
if band then
local heft, sort
for i = #band, 1, -1 do
heft = band[ i ]
sort = heft.s
if sort and attempt >= sort then
r = { Heft = heft.H,
Jahr = tostring( heft.J or "" ),
Kommentar = heft.K,
ISBN = heft.ISBN,
DNB = tostring( heft.DNB or "" ),
OCLC = tostring( heft.OCLC or "" ),
JahrEA = tostring( heft.JahrEA or "" ) }
break -- for i
end
end -- for i--
end
return r or { }
end -- findeHeft()
function former( apply )
local e = mw.html.create( "span" )
:css( "font-family", "serif" )
local roman = { [1] = "I",
[2] = "II",
[3] = "III",
[4] = "IV",
[5] = "V",
[6] = "VI",
[7] = "VII",
[8] = "VIII",
[9] = "IX",
[10] = "X",
[11] = "XI",
[12] = "XII",
[13] = "XIII",
[14] = "XIV",
[15] = "XV",
[16] = "XVI",
[17] = "XVII",
[18] = "XVIII",
[19] = "XIX",
[20] = "XX" }
e:wikitext( roman[ apply ] or "???????????" )
return tostring( e )
end -- former()
function getArticleBase()
local r = mw.title.getCurrentTitle().text
if r then
local sub = r:match( "^(.*%S) *%(.+%)$" )
if sub then
r = sub
end
end
return r
end -- getArticleBase()
Failsafe.failsafe = function ( atleast )
-- Retrieve versioning and check for compliance
-- Precondition:
-- atleast -- string, with required version
-- or wikidata|item|~|@ or false
-- Postcondition:
-- Returns string -- with queried version/item, also if problem
-- false -- if appropriate
-- 2024-03-01
local since = atleast
local last = ( since == "~" )
local linked = ( since == "@" )
local link = ( since == "item" )
local r
if last or link or linked or since == "wikidata" then
local item = Failsafe.item
since = false
if type( item ) == "number" and item > 0 then
local suited = string.format( "Q%d", item )
if link then
r = suited
else
local entity = mw.wikibase.getEntity( suited )
if type( entity ) == "table" then
local seek = Failsafe.serialProperty or "P348"
local vsn = entity:formatPropertyValues( seek )
if type( vsn ) == "table" and
type( vsn.value ) == "string" and
vsn.value ~= "" then
if last and vsn.value == Failsafe.serial then
r = false
elseif linked then
if mw.title.getCurrentTitle().prefixedText
== mw.wikibase.getSitelink( suited ) then
r = false
else
r = suited
end
else
r = vsn.value
end
end
end
end
elseif link then
r = false
end
end
if type( r ) == "nil" then
if not since or since <= Failsafe.serial then
r = Failsafe.serial
else
r = false
end
end
return r
end -- Failsafe.failsafe()
-- Export
local p = {}
function p.f( frame )
local pTemplate = frame:getParent().args
local stichwort = fair( pTemplate, 1 )
local spalteA = fair( pTemplate, "SpalteAb" )
local spalteB = fair( pTemplate, "SpalteBis" )
local sub = fair( pTemplate, "Bedeutung" )
local kommentar = fair( pTemplate, "Kommentar" )
local kurz = fair( pTemplate, "kurz" )
local q, n, pCore, s, scream, suffix
if not stichwort then
stichwort = getArticleBase()
end
s = mw.ustring.lower( stichwort )
if s == "geschwören" then
s = "geschworene"
elseif s:sub( 1, 1 ) == "l" then
if s:sub( 1, 6 ) == "landes" then
s = "land" .. s:sub( 7 )
elseif s:sub( 1, 5 ) == "lehns" then
s = "lehn" .. s:sub( 6 )
end
end
s = mw.ustring.gsub( s, "ä", "a" )
s = mw.ustring.gsub( s, "ö", "o" )
s = mw.ustring.gsub( s, "ü", "u" )
s = mw.ustring.gsub( s, "ß", "ss" )
n = findeBand( s )
q = findeHeft( n, s )
if spalteA then
if spalteA:match( "^[1-9]%d*$" ) then
local iA = tonumber( spalteA )
if iA > 1600 then
scream = string.format( "%s: <code>%d</code>",
"SpalteAb zu groß", iA )
elseif spalteB then
if spalteB == spalteA then
spalteB = nil
elseif spalteB:match( "^[1-9]%d*$" ) then
local iB = tonumber( spalteB )
if iB > 1600 then
scream = string.format( "%s: <code>%d</code>",
"SpalteBis zu groß", iB )
elseif iA > iB then
scream = "SpalteAb > SpalteBis"
end
else
scream = string.format( "%s: <code>%s</code>",
"SpalteBis fehlerhaft",
spalteB )
end
end
else
scream = string.format( "%s: <code>%s</code>",
"SpalteAb fehlerhaft",
spalteA )
end
elseif spalteB then
spalteB = nil
scream = "SpalteBis ohne SpalteAb"
end
if n == 0 then
scream = "Stichwort unzulässig"
elseif n == #Band then
scream = "Stichwort jenseits der bekannten Ausgaben"
end
s = fair( pTemplate, 2 ) or stichwort
if sub then
if sub:match( "^%d" ) then
local k, m
if sub:find( ".", 2, true ) then
k, m = sub:match( "^(%d+)%.(%d+)$" )
if k then
local i = tonumber( k )
if i >= 1 and i <= 20 then
suffix = string.format( "%s %s)",
former( i ), m )
else
scream = string.format( "%s: <code>%s</code>.%s",
"Bedeutung fehlerhaft",
k, m )
end
end
else
k = sub:match( "^%d+$" )
if k then
m = "0"
suffix = former( tonumber( k ) ) .. ")"
end
end
if k then
local subtext = fair( pTemplate, "Teilbegriff" )
sub = string.format( "#%s-%s.%s", s, k, m )
if subtext then
local e = mw.html.create( "span" )
:css( "font-style", "italic" )
:wikitext( subtext )
suffix = string.format( "%s %s",
suffix, tostring( e ) )
end
else
sub = nil
suffix = nil
end
else
sub = nil
suffix = nil
scream = "Bedeutung kein Zahlencode"
end
end
if kommentar and q.Kommentar then
kommentar = string.format( "%s – %s",
q.Kommentar,
kommentar )
elseif q.Kommentar then
kommentar = q.Kommentar
end
if kurz and
( kurz == "0" or
kurz == "-" or
kurz:sub( 1, 1 ):lower() == "n" ) then
kurz = nil
end
pCore = { Stichwort = stichwort,
ID = mw.uri.encode( s, "QUERY" ),
Fragment = sub,
TitelErg = suffix,
Band = tostring( n ),
Heft = q.Heft,
Jahr = q.Jahr,
Kommentar = kommentar,
ISBN = q.ISBN,
DNB = q.DNB,
OCLC = q.OCLC,
JahrEA = q.JahrEA,
SpalteAb = spalteA,
SpalteBis = spalteB,
kurz = kurz,
error = scream }
return frame:expandTemplate{ title = "DtRechtswörterbuch/core",
args = pCore }
end -- .f()
p.failsafe = function ( frame )
-- Versioning interface
local s = type( frame )
local since
if s == "table" then
since = frame.args[ 1 ]
elseif s == "string" then
since = frame
end
if since then
since = mw.text.trim( since )
if since == "" then
since = false
end
end
return Failsafe.failsafe( since ) or ""
end -- p.failsafe
setmetatable( p, { __call = function ( func, ... )
setmetatable( p, nil )
return Failsafe
end } )
return p