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 # ======================================================================
26 Retourne 1 si self est une MCList (liste de mots-clés), 0 sinon (défaut)
30 def get_index(self,objet):
32 Retourne la position d'objet dans la liste self
34 return self.data.index(objet)
36 def ajout_possible(self):
38 Méthode booléenne qui retourne 1 si on peut encore ajouter une occurrence
39 de l'élément que contient self, 0 sinon
41 max = self.data[0].definition.max
50 def isrepetable(self):
52 Indique si l'objet est répétable.
53 Retourne 1 si le mot-clé facteur self peut être répété
54 Retourne 0 dans le cas contraire
56 if self.data[0].definition.max > 1:
64 Une MCList n'est jamais obligatoire (même si le MCFACT qu'elle représente l'est
66 return self.data[0].definition.statut=='o'
69 def liste_mc_presents(self):
72 def delete_concept(self,sd):
76 Fonction : Mettre a jour les fils de l objet suite à la disparition
78 Seuls les mots cles simples MCSIMP font un traitement autre
79 que de transmettre aux fils
81 for child in self.data :
82 child.delete_concept(sd)
84 def replace_concept(self,old_sd,sd):
87 - old_sd=concept remplacé
89 Fonction : Mettre a jour les fils de l objet suite au remplacement
92 for child in self.data :
93 child.replace_concept(old_sd,sd)
96 return self.data[0].definition.get_docu()
98 def get_liste_mc_inconnus(self):
100 Retourne la liste des mots-clés inconnus dans self
103 for mcfact in self.data :
104 if mcfact.isvalid() : continue
105 l_child = mcfact.get_liste_mc_inconnus()
112 def verif_condition_regles(self,liste_presents):
114 Retourne la liste des mots-clés à rajouter pour satisfaire les règles
115 en fonction de la liste des mots-clés présents
117 # Sans objet pour une liste de mots clés facteurs
120 def verif_condition_bloc(self):
122 Evalue les conditions de tous les blocs fils possibles
123 (en fonction du catalogue donc de la définition) de self et
124 retourne deux listes :
125 - la première contient les noms des blocs à rajouter
126 - la seconde contient les noms des blocs à supprimer
128 # Sans objet pour une liste de mots clés facteurs
131 def init_modif(self):
133 Met l'état de l'objet à modified et propage au parent
134 qui vaut None s'il n'existe pas
136 self.state = 'modified'
138 self.parent.init_modif()
142 Méthode appelée après qu'une modification a été faite afin de déclencher
143 d'éventuels traitements post-modification
146 self.parent.fin_modif()
148 def get_genealogie(self):
150 Retourne la liste des noms des ascendants.
151 Un objet MCList n'est pas enregistré dans la genealogie.
152 XXX Meme si le MCFACT fils ne l'est pas lui non plus ????
155 return self.parent.get_genealogie()
159 def get_liste_mc_ordonnee_brute(self,liste,dico):
161 Retourne la liste ordonnée (suivant le catalogue) BRUTE des mots-clés
162 d'une entité composée dont le chemin complet est donné sous forme
163 d'une liste du type :ETAPE + MCFACT ou MCBLOC + ...
166 objet_cata = dico[arg]
167 dico=objet_cata.entites
168 return objet_cata.ordre_mc
170 def verif_existence_sd(self):
172 Vérifie que les structures de données utilisées dans self existent bien dans le contexte
173 avant étape, sinon enlève la référence à ces concepts
175 for motcle in self.data :
176 motcle.verif_existence_sd()
180 Retourne la chaine d'aide contenue dans le catalogue
181 en tenant compte de la langue
184 return self.data[0].get_fr()