1 # -*- coding: iso-8859-15 -*-
2 from Accas import SIMP,FACT,OPER,ASSD,AsException,AsType,CO,MACRO,JDC_CATA
3 JdC=JDC_CATA(code="ASTER")
5 class concept(ASSD):pass
6 class concept2(ASSD):pass
7 class concept3(ASSD):pass
8 class concept4(concept2):pass
10 def OP_ops(self,MATR,**args):
15 def op2_prod(self,MATR,**args):
16 self.type_sdprod(MATR,concept2)
18 OP1=MACRO(nom='OP1',op=OP_ops,sd_prod=op2_prod, MATR=SIMP(statut='o',typ=CO),)
19 OP2=MACRO(nom='OP2',op=OP_ops,sd_prod=op2_prod, MATR=SIMP(statut='o',typ=(CO,concept2)),)
20 OP10=MACRO(nom='OP10',op=OP_ops,sd_prod=op2_prod, MATR=SIMP(statut='o',typ=concept2),)
21 OP11=MACRO(nom='OP11',op=OP_ops,sd_prod=concept, MATR=SIMP(statut='o',typ=concept2),)
22 OP12=MACRO(nom='OP12',op=OP_ops,sd_prod=concept, MATR=SIMP(statut='o',typ=CO),)
23 OP13=MACRO(nom='OP13',op=OP_ops,sd_prod=concept, MATR=SIMP(statut='o',typ=(CO,concept2)),)
25 def op3_prod(self,MATR,**args):
28 if t == 'R':self.type_sdprod(m['MM'],concept)
30 OP3=MACRO(nom='OP3',op=OP_ops,sd_prod=op3_prod,
31 MATR=FACT(statut='f',min=1,max='**',
32 CHAM=SIMP(statut='o',typ='TXM',into=("R","I"),),
33 MM=SIMP(statut='o',typ=(CO,concept)),),)
35 def op4_prod(self,MATR,**args):
36 if MATR == None :raise AsException("impossible recuperer mot cle facteur par defaut")
38 OP4=MACRO(nom='OP4',op=OP_ops,sd_prod=op4_prod,
39 MATR=FACT(statut='d',min=1,max='**',
40 CHAM=SIMP(statut='f',typ='TXM',defaut="R"),),)
42 OP5=MACRO(nom='OP5',op=OP_ops,sd_prod=op2_prod, MATR=SIMP(statut='o',typ=CO),)
44 def op6_prod(self,MATR,**args):
45 self.type_sdprod(MATR,concept4)
47 def OP6_ops(self,MATR,**args):
50 self.DeclareOut('cc',self.sd)
53 OP6=MACRO(nom='OP6',op=OP6_ops,sd_prod=op6_prod, MATR=SIMP(statut='o',typ=CO),)
55 def OP7_ops(self,MATR,**args):
58 self.DeclareOut('cc',self.sd)
61 OP7=MACRO(nom='OP7',op=OP7_ops,sd_prod=op2_prod, MATR=SIMP(statut='o',typ=CO),)
63 OP8=MACRO(nom='OP8',op=OP_ops,sd_prod=op6_prod, MATR=SIMP(statut='o',typ=(CO,concept4)),)
65 def OP9_ops(self,MATR,**args):
68 self.DeclareOut('cc',self.sd)
71 OP9=MACRO(nom='OP9',op=OP9_ops,sd_prod=op6_prod, MATR=SIMP(statut='o',typ=CO),)
72 def OP14_ops(self,MATR,**args):
75 self.DeclareOut('cc',self.sd)
78 OP14=MACRO(nom='OP14',op=OP14_ops,sd_prod=op6_prod, MATR=SIMP(statut='o',typ=CO),)
79 def OP15_ops(self,MATR,**args):
82 self.DeclareOut('cc',self.sd)
85 OP15=MACRO(nom='OP15',op=OP15_ops,sd_prod=op6_prod, MATR=SIMP(statut='o',typ=CO),)
86 def OP16_ops(self,MATR,**args):
89 self.DeclareOut('cc',self.sd)
92 OP16=MACRO(nom='OP16',op=OP16_ops,sd_prod=op6_prod, MATR=SIMP(statut='o',typ=CO),)
93 def OP17_ops(self,MATR,**args):
96 self.DeclareOut('cc',self.sd)
99 OP17=MACRO(nom='OP17',op=OP17_ops,sd_prod=op6_prod, MATR=SIMP(statut='o',typ=CO),)
101 def OP18_ops(self,MATR,**args):
104 self.DeclareOut('cc',self.sd)
109 OP18=MACRO(nom='OP18',op=OP18_ops,sd_prod=op6_prod, MATR=SIMP(statut='o',typ=CO),)
110 OP20=MACRO(nom='OP20',op=OP_ops,sd_prod=op6_prod, MATR=SIMP(statut='o',typ=CO),
111 MATRB=SIMP(statut='o',typ=CO),)
112 def OP19_ops(self,MATR,**args):
115 self.DeclareOut('cc',self.sd)
116 cc=OP20(MATR=MATR,MATRB=MATR)
118 OP19=MACRO(nom='OP19',op=OP19_ops,sd_prod=op6_prod, MATR=SIMP(statut='o',typ=CO),)
120 OP21=OPER(nom='OP21',op=1,sd_prod=concept)
121 def OP22_ops(self,MATR,**args):
124 self.DeclareOut('cc',self.sd)
127 OP22=MACRO(nom='OP22',op=OP22_ops,sd_prod=op6_prod, MATR=SIMP(statut='o',typ=CO),)
132 def poursuite_sdprod(self,PAR_LOT):
134 #j.UserError=j.codex.error
137 j.set_par_lot(PAR_LOT)
138 if hasattr(self,'already_init'):return
139 self.already_init=None
142 file=open("pick.1",'r')
143 # Le contexte sauvegardé a été picklé en une seule fois. Il est seulement
144 # possible de le récupérer en bloc. Si cette opération echoue, on ne récupère
146 context=pickle.load(file)
149 # En cas d'erreur on ignore le contenu du fichier
151 traceback.print_exc()
153 for k,v in context.items():
154 if isinstance(v,Accas.ASSD):
155 self.parent.NommerSdprod(v,k)
156 self.g_context.update(context)
159 def poursuite(self,PAR_LOT):
164 POURSUITE=MACRO(nom='POURSUITE',op=poursuite,sd_prod=poursuite_sdprod,PAR_LOT=SIMP(typ='TXM',defaut='OUI'))
169 FIN=MACRO(nom='FIN',op=fin,sd_prod=None)
171 def debut_sdprod(self,PAR_LOT):
173 #j.UserError=j.codex.error
176 j.set_par_lot(PAR_LOT)
179 def debut(self,PAR_LOT):
184 DEBUT=MACRO(nom='DEBUT',op=debut,sd_prod=debut_sdprod,PAR_LOT=SIMP(typ='TXM',defaut='OUI'))