Salome HOME
modif pour MT
[tools/eficas.git] / MED / Elementary_Lists_52996_Cata.py
1 # coding: utf-8\r
2 \r
3 from Accas import *\r
4 \r
5 #class myMesh(ASSD): pass\r
6 class myModel(ASSD): pass\r
7 \r
8 JdC = JDC_CATA(code='PATTERNS',\r
9                execmodul=None,\r
10                regles=(#AU_PLUS_UN('DEBUT', 'POURSUITE'),\r
11                        AU_PLUS_UN('ALL_LISTS'),\r
12                        #AU_PLUS_UN('FIN'),\r
13                        A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN')\r
14                 )\r
15 )\r
16 \r
17 class grma():\r
18     def __convert__(cls,valeur):\r
19         if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24 : #and ("item" in (valeur.strip()))\r
20             return valeur.strip()\r
21         raise ValueError("Name length does not contain \"test\" and is longer than allowed, 24")\r
22     __convert__ = classmethod(__convert__)\r
23 \r
24 def mySeveral(suffix,num):\r
25     out=list()\r
26     for i in range(1,num+1):\r
27         out.append(suffix+str(i).zfill(2))\r
28     return out\r
29 \r
30 switch_facultatif=True #change 'o' to 'f' of some widgets in the loop\r
31 #empty_defauts=True\r
32 \r
33 def myBloc(num):\r
34     myNum=str(num).zfill(2)\r
35     list_item_body="Item_"+myNum+"_"\r
36     defauts0=["","",True,"'phenomena_"+myNum+"'",mySeveral(list_item_body,2)] #presence of default values\r
37     defauts_mask=[False,False,True,True,True] #switch off defaults of some types\r
38     defauts=list()\r
39     for id0 in range(len(defauts0)):\r
40         if defauts_mask[id0]:\r
41             item=", defaut="+str(defauts0[id0])\r
42         else:\r
43             item=""\r
44         defauts.append(item)\r
45     #print defauts\r
46 \r
47     opt=['o','o','o','o','o'] #initial default obligation of items in FACT groups\r
48     #make different widgets optional, one by one:\r
49     myLen=len(opt)\r
50     if switch_facultatif:\r
51         make_f=(num)%myLen\r
52         opt[make_f]='f'\r
53     #print opt\r
54     #if empty_defauts:\r
55     #    clean_defaut=num%myLen\r
56 \r
57     myString="BLOC(condition=\"MESH==\'mesh_"+myNum+"'\""+defauts[0]+", AFFE=FACT(statut='"+opt[1]+"'"+defauts[1]+", ALL=SIMP(statut='"+opt[2]+"', typ=bool,ang='ALL "+myNum+" help EN'"+defauts[2]+"),PHENOMENA=SIMP(statut='"+opt[3]+"',typ='TXM',into=mySeveral('phenomena_',"+str(num)+")"+defauts[3]+"), MODELISATION=SIMP(statut='"+opt[4]+"',typ='TXM', min=2,max='**',into=mySeveral('"+list_item_body+"',"+str(num*4)+")"+defauts[4]+", ang='Input "+myNum+" list EN', fr='Input "+myNum+" list FR'),),)"\r
58     print myString\r
59     return eval(myString)\r
60 \r
61 ALL_LISTS=OPER(nom="ALL_LISTS",op=18,sd_prod=myModel,\r
62     UIinfo={"groupes":("Group1",)},\r
63     ang="Model mesh definition EN",\r
64     reentrant='n',\r
65     #regles=(AU_MOINS_UN('LIST_O_CHECKTEXT','LIST_F_CHECKTEXT','LIST_O_ANY','LIST_F_ANY')),\r
66 \r
67         #LIST_O_NOREPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,validators=NoRepeat(),min=3, max='**'),\r
68     #LIST_F_NOREPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,validators=NoRepeat(),min=3, max='**'),\r
69     #LIST_F_REPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,min=3, max='**'),\r
70         #LIST_O_REPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,min=3, max='**'),\r
71 \r
72     #LIST_F_NOREPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',validators=NoRepeat(),min=3, max='**'),\r
73         #LIST_O_NOREPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3,validators=NoRepeat(), max='**'),\r
74         #LIST_O_REPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3, max='**'),\r
75         #LIST_F_REPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',min=3, max='**'),\r
76 \r
77         #LIST_O_NOREPEAT_CHECKTEXT_ADD=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**'),\r
78         #LIST_F_REPEAT_ANYTEXT_ADD=SIMP(statut='f',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**'),\r
79 \r
80         LIST_O_NOREPEAT_CHECKTEXT_ADD_NODEFAUT=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03","item04","text04",), min=3, max='**'),\r
81         #LIST_O_NOREPEAT_CHECKTEXT_ADD_DEFAUT=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), defaut=('item01','item02','item03'), min=3, max='**'),\r
82 )\r
83 \r
84 Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','ALL_LISTS','FIN')\r
85 \r
86 Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','ALL_LISTS','FIN')\r