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 # ======================================================================
25 Retourne 1 si self est une MCList (liste de mots-clés), 0 sinon (défaut)
29 def get_index(self,objet):
31 Retourne la position d'objet dans la liste self
33 return self.data.index(objet)
35 def ajout_possible(self):
37 Méthode booléenne qui retourne 1 si on peut encore ajouter une occurrence
38 de l'élément que contient self, 0 sinon
40 max = self.data[0].definition.max
51 Une MCList n'est jamais obligatoire (même si le MCFACT qu'elle représente l'est
55 def liste_mc_presents(self):
58 def delete_concept(self,sd):
62 Fonction : Mettre a jour les fils de l objet suite à la disparition
64 Seuls les mots cles simples MCSIMP font un traitement autre
65 que de transmettre aux fils
67 for child in self.data :
68 child.delete_concept(sd)
70 def replace_concept(self,old_sd,sd):
73 - old_sd=concept remplacé
75 Fonction : Mettre a jour les fils de l objet suite au remplacement
78 for child in self.data :
79 child.replace_concept(old_sd,sd)
82 return self.data[0].definition.get_docu()
84 def get_liste_mc_inconnus(self):
86 Retourne la liste des mots-clés inconnus dans self
89 for mcfact in self.data :
90 if mcfact.isvalid() : continue
91 l_child = mcfact.get_liste_mc_inconnus()
98 def verif_condition_regles(self,liste_presents):
100 Retourne la liste des mots-clés à rajouter pour satisfaire les règles
101 en fonction de la liste des mots-clés présents
103 # Sans objet pour une liste de mots clés facteurs
106 def verif_condition_bloc(self):
108 Evalue les conditions de tous les blocs fils possibles
109 (en fonction du catalogue donc de la définition) de self et
110 retourne deux listes :
111 - la première contient les noms des blocs à rajouter
112 - la seconde contient les noms des blocs à supprimer
114 # Sans objet pour une liste de mots clés facteurs
117 def init_modif(self):
119 Met l'état de l'objet à modified et propage au parent
120 qui vaut None s'il n'existe pas
122 self.state = 'modified'
124 self.parent.init_modif()
126 def get_genealogie(self):
128 Retourne la liste des noms des ascendants.
129 Un objet MCList n'est pas enregistré dans la genealogie.
130 XXX Meme si le MCFACT fils ne l'est pas lui non plus ????
133 return self.parent.get_genealogie()
137 def get_liste_mc_ordonnee_brute(self,liste,dico):
139 Retourne la liste ordonnée (suivant le catalogue) BRUTE des mots-clés
140 d'une entité composée dont le chemin complet est donné sous forme
141 d'une liste du type :ETAPE + MCFACT ou MCBLOC + ...
144 objet_cata = dico[arg]
145 dico=objet_cata.entites
146 return objet_cata.ordre_mc
148 def verif_existence_sd(self):
150 Vérifie que les structures de données utilisées dans self existent bien dans le contexte
151 avant étape, sinon enlève la référence à ces concepts
153 for motcle in self.data :
154 motcle.verif_existence_sd()
158 Retourne la chaine d'aide contenue dans le catalogue
159 en tenant compte de la langue
162 return self.data[0].get_fr()