1 from Accas import SIMP,FACT,OPER,ASSD,AsException,AsType
5 CONTEXT.unset_current_cata()
6 CONTEXT.set_current_cata(self)
7 def enregistre(self,cmd):
12 class concept(ASSD):pass
14 OP1 = OPER(nom='OP1',op=1,sd_prod=concept,
16 c=SIMP(typ='I',position='global'),
19 class concept2(ASSD):pass
20 class concept3(ASSD):pass
22 def op2_prod(TYPE_RESU,**args):
23 if TYPE_RESU == "TRANS" : return concept2
24 if TYPE_RESU == "HARMO" : return concept3
25 raise AsException("type de concept resultat non prevu")
27 OP2=OPER(nom='OP2',op=2,sd_prod=op2_prod,
28 TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="TRANS",into=("TRANS","HARMO") ),
31 def op3_prod(MATR,**args):
32 if AsType(MATR) == concept : return concept2
33 raise AsException("type de concept resultat non prevu")
35 OP3=OPER(nom='OP3',op=3,sd_prod=op3_prod,
36 MATR =SIMP(statut='o',typ=concept),
39 def op4_prod(MESURE,**args):
40 vale=MESURE['NOM_PARA']
41 if vale == 'INST' : return concept
42 raise AsException("type de concept resultat non prevu")
44 OP4=OPER(nom='OP4',op=4,sd_prod=op4_prod,
45 MESURE =FACT(statut='o',min=01,max=01,
46 NOM_PARA =SIMP(statut='f',typ='TXM',defaut="INST",into=("INST",) ),
50 def op5_prod(FFT,**args):
52 vale=FFT.get_child('FONCTION').get_valeur()
53 if (AsType(vale) == concept ) : return concept
54 if (AsType(vale) == concept2) : return concept2
55 raise AsException("type de concept resultat non prevu")
58 OP5=OPER(nom='OP5',op=5,sd_prod=op5_prod,
59 FFT =FACT(statut='f',min=1,max=1,
60 FONCTION =SIMP(statut='o',typ=(concept,concept2) )
64 def op6_prod(FILTRE,**args):
65 vale=FILTRE[0]['MODE']
66 if AsType(vale) == concept : return concept
67 if AsType(vale) == concept2 : return concept2
68 raise AsException("type de concept resultat non prevu")
70 OP6=OPER(nom='OP6',op=6,sd_prod=op6_prod,
71 FILTRE =FACT(statut='o',min=01,max='**',
72 MODE =SIMP(statut='o',typ=(concept,concept2) ),