Modul:Stammbaum
Zur Navigation springen
Zur Suche springen
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Dokumentation und Testfälle unter Modul:Stammbaum/Doku.
local p = {} function robusttrim(s) if s==nil then return '' end local p=mw.ustring.gsub(s,'%[%[SMW::on%]%]','') p=mw.ustring.gsub(p,'%[%[SMW::off%]%]','') return mw.text.trim(p) end function personlehen(frame,person) local lehen=frame:callParserFunction('#ask', '[[-Has subobject::'..person..']]','mainlabel=-','? Herrscher von Lehen#=', 'sort=Herrscher von Detailstufe','limit=1','searchlabel=') if (lehen=="") then return "" end local lehenstyp=frame:callParserFunction('#show',lehen,'?Lehenstyp#') if (lehenstyp=="") then return "" end local krone="" if (lehenstyp=="Herrschaft") then krone="Edlenkrone2" end if (lehenstyp=="Junkertum") then krone="Junkerskrone2" end if (lehenstyp=="Baronie") then krone="Baronskrone2" end if (lehenstyp=="Grafschaft") then krone="Grafenkrone2" end if (lehenstyp=="Provinz") then krone="Koenigskrone2" if (mw.ustring.sub(lehen,1,8)=="Garetien") then krone="Debrekskrone2" end if (mw.ustring.sub(lehen,1,8)=="Perricum") then krone="Markgrafenkrone2" end if (mw.ustring.sub(lehen,1,11)=="Greifenfurt") then krone="Markgrafenkrone2" end end if (lehenstyp=="Reich") then krone="Raulskrone2" end if krone=="" then return "" end return "[[Datei:"..krone..".svg|x20px|link="..lehen.."]] " end function personeneintrag(frame,person,tsatag,borontag,anzeige) local titelobject=mw.title.new(person) local titel=titelobject.text if(anzeige~="") then titel=anzeige end local tsa=frame:callParserFunction('#show',person,'?Tsatag Index#') local boron=frame:callParserFunction('#show',person,'?Borontag Index#') local wappen=frame:callParserFunction('#show',person,'?Familienwappen ist#') if ((tsa=="99990000")or(tsa=="")) then if(tsatag~="") then tsa=tsatag.."0000" else tsa="" end end if ((boron=="99990000")or(boron=="")) then if(borontag~="") then boron=borontag.."0000" else boron="" end end if (wappen~="") then wappen="[["..wappen.."|20px|link=]] " end local leben="" if (tsa~="") then tsan=math.floor(tonumber(tsa)/10000) leben=tostring(tsan) end if (boron~="") then boronn=math.floor(tonumber(boron)/10000) leben=leben.."-"..tostring(boronn) end if (leben~="") then leben=" ("..leben..")" end local link="[["..person.."|"..titel.."]]" leben=personlehen(frame,person)..wappen..link..leben if (boron=="") then leben="'''"..leben.."'''" end return leben end function familieneintrag(frame,familie) local titel=mw.title.new(familie).text local wappen=frame:callParserFunction('#show',familie,'?Wappen ist#') if (wappen=="") then wappen="Datei:Wappen blanko.svg" end local result="[["..familie.."|(...) "..titel.."]] [["..wappen.."|x20px|link="..familie.."]]" return result end function p.Eintrag(frame) if (frame.args[1]==nil) then return "Personeneintrag fehlt" end local person=robusttrim(frame.args[1]) local tsatag=robusttrim(frame.args[2]) local borontag=robusttrim(frame.args[3]) local anzeige=robusttrim(frame.args[4]) return personeneintrag(frame,person,tsatag,borontag,anzeige) end function p.Familie(frame) if (frame.args[1]==nil) then return "Familieneintrag fehlt" end local familie=robusttrim(frame.args[1]) return familieneintrag(frame,familie) end return p