from System import Array
from System import String
from System import Console
from System.Collections.Generic import *
from System.Text.RegularExpressions import *
from qcz.Templates import *
#Ez a lényeges, ezt másold be a from-ok után
def RemoveMeasures(input, measures = ""):
if measures == None or measures == "":
return input
if input == None or input == "":
return ""
return Regex.Replace(input, r"\s*(?<pre>(\d+ ?)+(., *(\d+ ?)+ *)*)\s*(" + measures + r")\s*", "${pre}", RegexOptions.IgnoreCase)
#ez a vége
def RemoveWikilink(input):
if input == None or input == "":
return ""
tmp = Regex.Replace(input, r"\s*\[\[(?<m>.*?)]]\s*", "${m}", RegexOptions.IgnoreCase)
return Regex.Replace(tmp, "\|", "{{!}}")
def RagEltávolítás(input):
if input == None or input == "":
return ""
return input.split("-", 1)[0];
def SplitFileLink(template, paramname, imgparam = u"kép", imgsizeparam = "képméret", imgdescparam = "képaláírás"):
if template == None or paramname == None or paramname == "" or imgparam == None or \
imgsizeparam == None or imgdescparam == None:
return
m = Regex.Match(template[paramname], r"\[\[(Fájl|Kép|File|Image):(?<name>.*?)(\|(?<data>.*?))?]]");
x = m.Groups["data"].Value.Split("|")
sablon[imgparam] = m.Groups["name"].Value
i = 0;
for s in x:
i=i+1;
if Regex.IsMatch(s, r"\d+px"):
sablon[imgsizeparam] = s;
elif i==x.Length and not Regex.IsMatch(s, r"left|right|balra|jobbra|center|közép(re)?|thumb|bélyeg"):
sablon[imgdescparam] = s;
...
if TemplateProcessing:
for sablon in page.SelectTemplates("Teszt"):
sablon.RenameParameter("param1", "param2")
#Használni ott kell, ahol az átnevezéseket is csinálod (a for-ciklusban)
sablon["paraméternév"] = RemoveMeasures(sablon["paraméternév"], r"mértékegységek")
#több mértékegységet is meg lehet adni pipe-pal elválasztva, pl. "CsE|fényév"
#arra kell ügyelni, hogy ha wikiszövegben [, ., +, ?, *, (, ), \ vagy | van,
#akkor azok elé \ karaktert kell rakni (pl. \[, \(, \), \\, \| stb.)
# pl. "[[Csillagászati egység|CsE]]" helyett "\[\[Csillagászati egység\|CsE]]" kell