Salome HOME
99a7612cb708f3137741ca9ed20e2d501da1d225
[tools/eficas.git] / Ihm / I_PROC_ETAPE.py
1 import I_ETAPE
2
3
4 # import rajoutés suite à l'ajout de Build_sd --> à résorber
5 import traceback,types
6 import Noyau
7 from Noyau import N_Exception
8 from Noyau.N_Exception import AsException
9 # fin import à résorber
10
11 class PROC_ETAPE(I_ETAPE.ETAPE):
12    def get_sdname(self):
13       return ""
14
15    def get_sdprods(self,nom_sd):
16       """ 
17          Fonction : retourne le concept produit par l etape de nom nom_sd
18                     s il existe sinon None
19          Une PROC ne produit aucun concept
20       """
21       return None
22
23    def delete_concept(self,sd):
24       """
25           Inputs :
26              sd=concept detruit
27           Fonction :
28              Mettre a jour les mots cles de l etape 
29              suite à la disparition du concept sd
30              Seuls les mots cles simples MCSIMP font un traitement autre
31              que de transmettre aux fils
32       """
33       for child in self.mc_liste :
34         child.delete_concept(sd)
35
36    def Build_sd(self):
37       """
38           Cette methode applique la fonction op_init au contexte du parent
39           et lance l'exécution en cas de traitement commande par commande
40           Elle doit retourner le concept produit qui pour une PROC est toujours None
41           En cas d'erreur, elle leve une exception : AsException ou EOFError
42       """
43       if not self.isactif():return
44       try:
45          if self.parent:
46             if type(self.definition.op_init) == types.FunctionType: 
47                apply(self.definition.op_init,(self,self.parent.g_context))
48          else:
49             pass
50          if self.jdc.par_lot == "NON" :
51             self.Execute()
52       except AsException,e:
53         raise AsException("Etape ",self.nom,'ligne : ',self.appel[0],
54                               'fichier : ',self.appel[1],e)
55       except EOFError:
56         self.reset_current_step()
57         raise
58       except :
59         l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])
60         raise AsException("Etape ",self.nom,'ligne : ',self.appel[0],
61                           'fichier : ',self.appel[1]+'\n',
62                           string.join(l))