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.
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.
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.
19 # ======================================================================
23 # import rajoutés suite à l'ajout de Build_sd --> à résorber
25 import traceback,types,string
27 from Noyau import N_Exception
28 from Noyau.N_Exception import AsException
29 # fin import à résorber
31 class PROC_ETAPE(I_ETAPE.ETAPE):
35 def get_sdprods(self,nom_sd):
37 Fonction : retourne le concept produit par l etape de nom nom_sd
38 s il existe sinon None
39 Une PROC ne produit aucun concept
43 def delete_concept(self,sd):
48 Mettre a jour les mots cles de l etape
49 suite à la disparition du concept sd
50 Seuls les mots cles simples MCSIMP font un traitement autre
51 que de transmettre aux fils
53 for child in self.mc_liste :
54 child.delete_concept(sd)
56 def replace_concept(self,old_sd,sd):
59 - old_sd=concept remplacé
62 Mettre a jour les mots cles de l etape
63 suite au remplacement du concept old_sd
65 for child in self.mc_liste :
66 child.replace_concept(old_sd,sd)
68 #ATTENTION SURCHARGE: a garder en synchro ou a reintegrer dans le Noyau
71 Methode de Noyau surchargee pour poursuivre malgre tout
72 si une erreur se produit pendant la creation du concept produit
75 sd=Noyau.N_PROC_ETAPE.PROC_ETAPE.Build_sd(self)
78 # Une erreur s'est produite lors de la construction du concept
79 # Comme on est dans EFICAS, on essaie de poursuivre quand meme
80 # Si on poursuit, on a le choix entre deux possibilités :
81 # 1. on annule la sd associée à self
82 # 2. on la conserve mais il faut la retourner
83 # En plus il faut rendre coherents sdnom et sd.nom
86 self.state="unchanged"