mirror of
https://github.com/YunoHost-Apps/noalyss_ynh.git
synced 2024-09-03 19:46:20 +02:00
101 lines
3 KiB
Python
101 lines
3 KiB
Python
|
#!/usr/bin/python
|
||
|
# brief : replace the all class widget
|
||
|
#
|
||
|
# This file is a part of NOALYSS under GPL
|
||
|
# Author D. DE BONTRIDDER danydb@aevalys.eu
|
||
|
import glob
|
||
|
import sys
|
||
|
import re
|
||
|
class Transform:
|
||
|
widget=re.compile("new widget.*;.*")
|
||
|
wegal=re.compile('.*=')
|
||
|
wtext=re.compile("text",re.IGNORECASE)
|
||
|
wselect=re.compile("select",re.IGNORECASE)
|
||
|
wjsDate=re.compile("js_date",re.IGNORECASE)
|
||
|
wHidden=re.compile("hidden",re.IGNORECASE)
|
||
|
wcheckbox=re.compile("checkbox",re.IGNORECASE)
|
||
|
wJSSearch_Poste=re.compile("js_search_poste",re.IGNORECASE)
|
||
|
wJSSearch_only=re.compile("js_search_only",re.IGNORECASE)
|
||
|
wSpan=re.compile("span",re.IGNORECASE)
|
||
|
wFile=re.compile("file",re.IGNORECASE)
|
||
|
wRadio=re.compile("radio",re.IGNORECASE)
|
||
|
wButton=re.compile("button",re.IGNORECASE)
|
||
|
wTextarea=re.compile("textarea",re.IGNORECASE)
|
||
|
wJSConcerned=re.compile("js_concerned",re.IGNORECASE)
|
||
|
wTva=re.compile("js_tva",re.IGNORECASE)
|
||
|
wSearch=re.compile("js_search\"",re.IGNORECASE)
|
||
|
string=""
|
||
|
def __init__(self,p_string):
|
||
|
self.string=p_string
|
||
|
def transform(self):
|
||
|
result=self.string
|
||
|
found_widgets=self.widget.findall(self.string)
|
||
|
if len(found_widgets) > 0:
|
||
|
sEgal=self.wegal.findall(result)
|
||
|
found_widget=found_widgets[0]
|
||
|
result=""
|
||
|
if len(self.wtext.findall(found_widget))>0:
|
||
|
result="new IText"
|
||
|
if len(self.wselect.findall(found_widget))>0:
|
||
|
result="new ISelect"
|
||
|
if len(self.wjsDate.findall(found_widget))>0:
|
||
|
result="new IDate"
|
||
|
if len(self.wHidden.findall(found_widget))>0:
|
||
|
result="new IHidden"
|
||
|
if len(self.wcheckbox.findall(found_widget))>0:
|
||
|
result="new ICheckBox"
|
||
|
if len(self.wJSSearch_Poste.findall(found_widget))>0:
|
||
|
result="new IPoste"
|
||
|
if len(self.wJSSearch_only.findall(found_widget))>0:
|
||
|
result="new ICard"
|
||
|
if len(self.wSpan.findall(found_widget))>0:
|
||
|
result="new ISpan"
|
||
|
if len(self.wFile.findall(found_widget))>0:
|
||
|
result="new IFile"
|
||
|
if len(self.wRadio.findall(found_widget))>0:
|
||
|
result="new IRadio"
|
||
|
if len(self.wTextarea.findall(found_widget))>0:
|
||
|
result="new ITextArea"
|
||
|
if len(self.wButton.findall(found_widget))>0:
|
||
|
result="new IButton"
|
||
|
if len(self.wJSConcerned.findall(found_widget))>0:
|
||
|
result="new IConcerned"
|
||
|
if len(self.wTva.findall(found_widget))>0:
|
||
|
result="new ITva"
|
||
|
if len(self.wSearch.findall(found_widget))>0:
|
||
|
result="new ISearch"
|
||
|
if result == "" :
|
||
|
print "Invalid widget :"+self.string
|
||
|
return 'INVALIDWIDGET '+self.string
|
||
|
result=sEgal[0]+result
|
||
|
reArg=re.compile('\(.*\)')
|
||
|
content=reArg.findall(self.string)
|
||
|
reSplit=re.compile(',')
|
||
|
aArg=reSplit.split(content[0])
|
||
|
if len(aArg) == 1 :
|
||
|
return result+'();'+"\n"
|
||
|
b=aArg[1:]
|
||
|
virg=""
|
||
|
arg=""
|
||
|
for i in b:
|
||
|
arg=arg+virg+i
|
||
|
virg=','
|
||
|
return result+'('+arg+';'+"\n"
|
||
|
return result
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
string=" $button_escape=new widget('button','Echapper');"
|
||
|
a=Transform(string)
|
||
|
print a.transform()
|
||
|
|
||
|
#
|
||
|
# if len(sys.argv) < 1 :
|
||
|
# print "Erreur pas de fichier comme argument"
|
||
|
# sys.exit(1)
|
||
|
# files=glob.glob(sys.argv[1])
|
||
|
# for file in files:
|
||
|
# lines=file.readlines()
|
||
|
# for line in lines:
|
||
|
#
|