1 # -*- coding: utf-8 -*-
2 # CONFIGURATION MANAGEMENT OF EDF VERSION
3 # ======================================================================
4 # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
5 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8 # (AT YOUR OPTION) ANY LATER VERSION.
10 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
16 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
17 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20 # ======================================================================
24 # import rajoutés suite à l'ajout de Build_sd --> à résorber
26 import traceback,types,string
28 from Noyau import N_Exception
29 from Noyau.N_Exception import AsException
30 # fin import à résorber
32 class PROC_ETAPE(I_ETAPE.ETAPE):
36 def get_sdprods(self,nom_sd):
38 Fonction : retourne le concept produit par l etape de nom nom_sd
39 s il existe sinon None
40 Une PROC ne produit aucun concept
44 def supprime_sdprods(self):
46 Fonction: Lors d'une destruction d'etape, detruit tous les concepts produits
47 Une procedure n'en a aucun
51 def delete_concept(self,sd):
53 Fonction : Mettre a jour les mots cles de l etape
54 suite à la disparition du concept sd
55 Seuls les mots cles simples MCSIMP font un traitement autre
56 que de transmettre aux fils
61 for child in self.mc_liste :
62 child.delete_concept(sd)
64 def replace_concept(self,old_sd,sd):
66 Fonction : Mettre a jour les mots cles de l etape
67 suite au remplacement du concept old_sd
70 - old_sd=concept remplacé
73 for child in self.mc_liste :
74 child.replace_concept(old_sd,sd)
76 #ATTENTION SURCHARGE: a garder en synchro ou a reintegrer dans le Noyau
79 Methode de Noyau surchargee pour poursuivre malgre tout
80 si une erreur se produit pendant la creation du concept produit
83 sd=Noyau.N_PROC_ETAPE.PROC_ETAPE.Build_sd(self)
85 # Une erreur s'est produite lors de la construction du concept
86 # Comme on est dans EFICAS, on essaie de poursuivre quand meme
87 # Si on poursuit, on a le choix entre deux possibilités :
88 # 1. on annule la sd associée à self
89 # 2. on la conserve mais il faut la retourner
90 # En plus il faut rendre coherents sdnom et sd.nom
93 self.state="unchanged"