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
52 Une MCList n'est jamais obligatoire (même si le MCFACT qu'elle représente l'est
56 def liste_mc_presents(self):
59 def delete_concept(self,sd):
63 Fonction : Mettre a jour les fils de l objet suite à la disparition
65 Seuls les mots cles simples MCSIMP font un traitement autre
66 que de transmettre aux fils
68 for child in self.data :
69 child.delete_concept(sd)
71 def replace_concept(self,old_sd,sd):
74 - old_sd=concept remplacé
76 Fonction : Mettre a jour les fils de l objet suite au remplacement
79 for child in self.data :
80 child.replace_concept(old_sd,sd)
83 return self.data[0].definition.get_docu()
85 def get_liste_mc_inconnus(self):
87 Retourne la liste des mots-clés inconnus dans self
90 for mcfact in self.data :
91 if mcfact.isvalid() : continue
92 l_child = mcfact.get_liste_mc_inconnus()
99 def verif_condition_regles(self,liste_presents):
101 Retourne la liste des mots-clés à rajouter pour satisfaire les règles
102 en fonction de la liste des mots-clés présents
104 # Sans objet pour une liste de mots clés facteurs
107 def verif_condition_bloc(self):
109 Evalue les conditions de tous les blocs fils possibles
110 (en fonction du catalogue donc de la définition) de self et
111 retourne deux listes :
112 - la première contient les noms des blocs à rajouter
113 - la seconde contient les noms des blocs à supprimer
115 # Sans objet pour une liste de mots clés facteurs
118 def init_modif(self):
120 Met l'état de l'objet à modified et propage au parent
121 qui vaut None s'il n'existe pas
123 self.state = 'modified'
125 self.parent.init_modif()
127 def get_genealogie(self):
129 Retourne la liste des noms des ascendants.
130 Un objet MCList n'est pas enregistré dans la genealogie.
131 XXX Meme si le MCFACT fils ne l'est pas lui non plus ????
134 return self.parent.get_genealogie()
138 def get_liste_mc_ordonnee_brute(self,liste,dico):
140 Retourne la liste ordonnée (suivant le catalogue) BRUTE des mots-clés
141 d'une entité composée dont le chemin complet est donné sous forme
142 d'une liste du type :ETAPE + MCFACT ou MCBLOC + ...
145 objet_cata = dico[arg]
146 dico=objet_cata.entites
147 return objet_cata.ordre_mc
149 def verif_existence_sd(self):
151 Vérifie que les structures de données utilisées dans self existent bien dans le contexte
152 avant étape, sinon enlève la référence à ces concepts
154 for motcle in self.data :
155 motcle.verif_existence_sd()
159 Retourne la chaine d'aide contenue dans le catalogue
160 en tenant compte de la langue
163 return self.data[0].get_fr()