Benutzer:Antonsusi/Spielwiese/Modul:Leiste
aus Wikipedia, der freien Enzyklopädie
< Benutzer:Antonsusi | Spielwiese
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 11. Mai 2013 um 21:36 Uhr durch imported>Antonsusi(815279) (AZ: Die Seite wurde neu angelegt: local Leiste = {} local LuaWiki = require( "Module:LuaWiki" ) -- function Test.lesen(frame) …).
local Leiste = {}
local LuaWiki = require( "Module:LuaWiki" )
--
function Test.lesen(frame)
local Folge = frame.args[1]
local Vorlage = frame.args[2]
local Lemma = frame.args[3]
local Titel = frame.args[4]
local idx = 0
local Pos = 0
local Von = 0
local Bis = 0
local Satz = ""
local Link = ""
local Seite = ""
local Zeit = ""
local Rest = ""
local T_Satz = {}
local T_Link = {}
local T_Seite = {}
local T_Zeit = {}
local Tlen = 0
local Teil = ""
local DavorL= ""
local DavorZ= ""
local DanachL= ""
local DanachZ= ""
local Ausgabe = LuaWiki.transclude(Vorlage)
local Text = LuaWiki.transclude(Folge)
if mw.ustring.len(Text) < 5 then
return "Folgeliste nicht gefunden!"
end
-- Evtl. am Anfang stehendes Semikolon entfernen
if mw.ustring.sub(Text,1,1) ==";" then
Text = mw.ustring.sub(Text,2,-1)
end
-- Evtl. am Ende fehlendes Semikolon ergänzen
if mw.ustring.sub(Text,-1,-1) ~=";" then
Text = Text ..";"
end
-- Etwaige Leerzeichen vor oder nach einem Semikolon entfernen, je bis zu sechs
Text = mw.ustring.gsub(Text,' ;',';')
Text = mw.ustring.gsub(Text,' ;',';')
Text = mw.ustring.gsub(Text,' ;',';')
Text = mw.ustring.gsub(Text,'; ',';')
Text = mw.ustring.gsub(Text,'; ',';')
Text = mw.ustring.gsub(Text,'; ',';')
-- Etwaige leere Felder entfernen, da wohl Tippfehler
Text = mw.ustring.gsub(Text,';;',';')
-- Datensätze trennen
Rest = Text
while #Rest > 0 do
idx = mw.ustring.find(Rest,';',1,true)
if not idx then
break
end
Teil = mw.ustring.sub(Rest,1,idx-1)
table.insert(T_Satz,Teil)
Rest = mw.ustring.sub(Rest,idx+1,-1)
end
-- Extrahieren der Seitenlinks und eintragen in T_Link
for idx, Satz in ipairs(T_Satz) do
Von = mw.ustring.find(Satz,'[[',1,true)
Bis = 1 + mw.ustring.find(Satz,']]',1,true)
table.insert(T_Link, mw.ustring.sub(Satz,von,Bis))
end
-- Extrahieren der Seitennamen und eintragen in T_Seite
for idx, Link in ipairs(T_Link) do
Pos = mw.ustring.find(Link,'|',1,true)
if Pos then
Seite = mw.ustring.sub(Link,3,Pos-1)
else
Seite = mw.ustring.sub(Link,3,-3)
end
Seite = mw.ustring.gsub(Seite,'_',' ') -- Etwaige Unterstriche tauschen
table.insert(T_Seite,Seite)
end
-- Extrahieren der Zeiten und eintragen in T_Zeit
for idx, Satz in ipairs(T_Satz) do
Pos = mw.ustring.find(Satz,'@',1,true)
if Pos then
Zeit = mw.ustring.sub(Satz,Pos+1,-1)
else
Zeit = ""
end
table.insert(T_Zeit,Zeit)
end
-- Wikitext - Erstellen der Tabelle durch Einfügen der Werte in eine Seite
-- Nachbarseiten suchen
Tlen = #T_Seite
for idx,Seite in ipairs(T_Seite) do
if Seite == Lemma then
if idx == 1 then
DavorL = ""
DavorZ = ""
DanachL = T_Link[idx+1]
DanachZ = T_Zeit[idx+1]
break
elseif idx == Tlen then
DavorL =T_Link[idx-1]
DavorZ =T_Zeit[idx-1]
DanachL = ""
DanachZ = ""
break
else
DavorL =T_Link[idx-1]
DavorZ =T_Zeit[idx-1]
DanachL = T_Link[idx+1]
DanachZ = T_Zeit[idx+1]
break
end
break
end
DavorL = "???"
DavorZ = "???"
DanachL = "???"
DanachZ = "???"
end
Ausgabe = mw.ustring.gsub(Ausgabe,'{DavorL}',DavorL)
Ausgabe = mw.ustring.gsub(Ausgabe,'{DavorZ}',DavorZ)
Ausgabe = mw.ustring.gsub(Ausgabe,'{DanachL}',DanachL)
Ausgabe = mw.ustring.gsub(Ausgabe,'{DanachZ}',DanachZ)
Ausgabe = mw.ustring.gsub(Ausgabe,'{Titel}',Titel)
return Ausgabe
end
--
return Leiste