Salome HOME
ajout properties.py
[tools/eficas.git] / Ihm / I_PROC_ETAPE.py
1 #            CONFIGURATION MANAGEMENT OF EDF VERSION
2 # ======================================================================
3 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
4 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7 # (AT YOUR OPTION) ANY LATER VERSION.
8 #
9 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
10 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13 #
14 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
16 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
17 #
18 #
19 # ======================================================================
20 import I_ETAPE
21
22
23 # import rajoutés suite à l'ajout de Build_sd --> à résorber
24 import traceback,types
25 import Noyau
26 from Noyau import N_Exception
27 from Noyau.N_Exception import AsException
28 # fin import à résorber
29
30 class PROC_ETAPE(I_ETAPE.ETAPE):
31    def get_sdname(self):
32       return ""
33
34    def get_sdprods(self,nom_sd):
35       """ 
36          Fonction : retourne le concept produit par l etape de nom nom_sd
37                     s il existe sinon None
38          Une PROC ne produit aucun concept
39       """
40       return None
41
42    def delete_concept(self,sd):
43       """
44           Inputs :
45              sd=concept detruit
46           Fonction :
47              Mettre a jour les mots cles de l etape 
48              suite à la disparition du concept sd
49              Seuls les mots cles simples MCSIMP font un traitement autre
50              que de transmettre aux fils
51       """
52       for child in self.mc_liste :
53         child.delete_concept(sd)
54
55    def Build_sd(self):
56       """
57           Cette methode applique la fonction op_init au contexte du parent
58           et lance l'exécution en cas de traitement commande par commande
59           Elle doit retourner le concept produit qui pour une PROC est toujours None
60           En cas d'erreur, elle leve une exception : AsException ou EOFError
61       """
62       if not self.isactif():return
63       try:
64          if self.parent:
65             if type(self.definition.op_init) == types.FunctionType: 
66                apply(self.definition.op_init,(self,self.parent.g_context))
67          else:
68             pass
69          if self.jdc.par_lot == "NON" :
70             self.Execute()
71       except AsException,e:
72         raise AsException("Etape ",self.nom,'ligne : ',self.appel[0],
73                               'fichier : ',self.appel[1],e)
74       except EOFError:
75         self.reset_current_step()
76         raise
77       except :
78         l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])
79         raise AsException("Etape ",self.nom,'ligne : ',self.appel[0],
80                           'fichier : ',self.appel[1]+'\n',
81                           string.join(l))