Salome HOME
PN bug
[tools/eficas.git] / Tests / testelem / cata2.py
1 from Accas import SIMP,FACT,OPER,ASSD,AsException,AsType,CO,MACRO
2
3
4 class CATA:
5    def __init__(self):
6       CONTEXT.unset_current_cata()
7       CONTEXT.set_current_cata(self)
8    def enregistre(self,cmd):
9       pass
10
11 cata=CATA()
12
13 class concept(ASSD):pass
14
15 OP1 = OPER(nom='OP1',op=1,sd_prod=concept,
16            a=SIMP(typ='I'),
17            c=SIMP(typ='I',position='global'),
18           )
19
20 class concept2(ASSD):pass
21 class concept3(ASSD):pass
22
23 def op2_prod(self,MATR,**args):
24    self.type_sdprod(MATR,concept2)
25    return concept
26
27 OP2=MACRO(nom='OP2',op=-2,sd_prod=op2_prod,
28           MATR=SIMP(statut='o',typ=(CO,concept2)),
29         )
30
31 def op3_prod(self,MATR,**args):
32    for m in MATR:
33       t=m['CHAM']
34       if t == 'R':self.type_sdprod(m['MM'],concept)
35    return concept
36
37 OP3=MACRO(nom='OP3',op=-3,sd_prod=op3_prod,
38           MATR=FACT(statut='f',min=1,max='**',
39                     CHAM=SIMP(statut='o',typ='TXM',into=("R","I"),),
40                     MM=SIMP(statut='o',typ=(CO,concept)),
41                    ),
42           )
43
44
45 def op4_prod(self,MATR,**args):
46    if MATR == None :raise AsException("impossible recuperer mot cle facteur par defaut")
47    return concept
48
49 OP4=MACRO(nom='OP4',op=-4,sd_prod=op4_prod,
50           MATR=FACT(statut='d',min=1,max='**',
51                     CHAM=SIMP(statut='f',typ='TXM',defaut="R"),
52                    ),
53           )
54 OP5=MACRO(nom='OP5',op=-2,sd_prod=op2_prod, MATR=SIMP(statut='o',typ=CO),)
55
56 def OP6_ops(self,MATR,**args):
57   """
58   """
59   ier=0
60   self.set_icmd(1)
61   self.DeclareOut('cc',self.sd)
62   cc=OP2(MATR=MATR)
63   return ier
64
65 OP6=MACRO(nom='OP6',op=OP6_ops,sd_prod=op2_prod, MATR=SIMP(statut='o',typ=CO),)
66