From: Pascale Noyret Date: Fri, 28 Nov 2008 16:57:29 +0000 (+0000) Subject: mise en coherence 9.3.23 X-Git-Tag: V0_a1_SEPQT4~56 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=aec36dc8b2d372302e2613950e9ef40009e4ef1f;p=tools%2Feficas.git mise en coherence 9.3.23 --- diff --git a/Noyau/N_MCSIMP.py b/Noyau/N_MCSIMP.py index 2f42ae93..5a4093f7 100644 --- a/Noyau/N_MCSIMP.py +++ b/Noyau/N_MCSIMP.py @@ -1,4 +1,4 @@ -#@ MODIF N_MCSIMP Noyau DATE 30/11/2007 AUTEUR COURTOIS M.COURTOIS +#@ MODIF N_MCSIMP Noyau DATE 13/10/2008 AUTEUR COURTOIS M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -88,7 +88,13 @@ class MCSIMP(N_OBJECT.OBJECT): Cette valeur est utilisée lors de la création d'un contexte d'évaluation d'expressions à l'aide d'un interpréteur Python """ - return self.valeur + v = self.valeur + # Singleton : on retourne l'element + # Permet aussi d'ignorer l'erreur : concept=COMMANDE(), + # ou 'concept' est un tuple de longueur 1 a cause de la virgule. + if type(v) in (list, tuple) and len(v) == 1: + v = v[0] + return v def get_val(self): """ diff --git a/Noyau/ascheckers.py b/Noyau/ascheckers.py index 0f191246..9f7799fa 100644 --- a/Noyau/ascheckers.py +++ b/Noyau/ascheckers.py @@ -1,4 +1,4 @@ -#@ MODIF ascheckers Noyau DATE 28/11/2007 AUTEUR COURTOIS M.COURTOIS +#@ MODIF ascheckers Noyau DATE 07/10/2008 AUTEUR PELLET J.PELLET # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -44,13 +44,16 @@ class CheckLog(object): à la celle de la dernière vérification. Si on incrémentait "marq" à chaque étape, on revérifie à chaque fois. """ + def __init__(self): self.msg = [] self.names = {} + self.cksums = {} self.optional = False self._marq = 1 self._lastmarq = self._marq self._debug = False + self._profond = False # True pour forcer des vérifications plus profondes def log(self, level, obj, msg ): if obj : @@ -68,6 +71,29 @@ class CheckLog(object): key = obj.nomj() self.names[key] = self._marq + def checkSumOJB(self, obj, sd, maj='non'): + # vérifie que le checksum de obj n'a pas changé + # sd : concept qui contient obj + # maj='maj', l'opérateur a le droit de modifier ojb + if obj.exists : + import md5 + m=md5.new() + m.update(str(obj.get())) + cksum=m.digest() + nom=obj.nomj() + if not self.cksums.has_key(nom) : + self.cksums[nom]=cksum + else : + if self.cksums[nom] != cksum : + self.cksums[nom] = cksum + #if maj.strip()=='maj' and nom[0:8].strip()==sd.nomj.nomj[0:8].strip() : + # Remarque : ne pas tester 'maj' premet de résoudre (un peu) le problème + # posé par la commande DETRUIRE + if nom[0:8].strip()==sd.nomj.nomj[0:8].strip() : + pass + else : + self.err(obj,'Le checksum a changé') + def visitAsBase(self, obj): key = (obj.nomj(), obj.__class__.__name__) self.names[key] = self._marq diff --git a/Noyau/asojb.py b/Noyau/asojb.py index adc4b85e..8d2820ca 100644 --- a/Noyau/asojb.py +++ b/Noyau/asojb.py @@ -1,4 +1,4 @@ -#@ MODIF asojb Noyau DATE 07/04/2008 AUTEUR COURTOIS M.COURTOIS +#@ MODIF asojb Noyau DATE 07/10/2008 AUTEUR PELLET J.PELLET # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== @@ -75,10 +75,10 @@ class AsBase(Type): try : v( checker ) except : - UTMESS("E", 'SDVERI_45') # AJACOT NON - print 40*'-' - traceback.print_exc(file=sys.stdout) - print self + mess=60*'-'+'\n' + mess=mess+'Erreur SDVERI_45 (Attention : vérification incomplète)'+'\n' + mess=mess.join(traceback.format_tb(sys.exc_traceback)) + checker.err(self,mess) checker.optional = optional return checker diff --git a/Noyau/context.py b/Noyau/context.py index bec83219..676e6b8d 100644 --- a/Noyau/context.py +++ b/Noyau/context.py @@ -32,6 +32,7 @@ def set_current_step(step): global _root if _root : raise "Impossible d'affecter _root. Il devrait valoir None" _root=step + print "dans set_current_step", step def get_current_step(): """ diff --git a/Validation/V_UN_PARMI.py b/Validation/V_UN_PARMI.py index aab3a034..2f162976 100644 --- a/Validation/V_UN_PARMI.py +++ b/Validation/V_UN_PARMI.py @@ -1,23 +1,23 @@ -#@ MODIF V_UN_PARMI Validation DATE 14/09/2004 AUTEUR MCOURTOI M.COURTOIS +#@ MODIF V_UN_PARMI Validation DATE 16/09/2008 AUTEUR PELLET J.PELLET # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT +# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF +# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. # -# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT -# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF -# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. # -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# # ====================================================================== @@ -27,8 +27,8 @@ class UN_PARMI: La règle vérifie que l'on trouve un des mots-clés de la règle parmi les arguments d'un OBJECT. - Ces arguments sont transmis à la règle pour validation sous la forme - d'une liste de noms de mots-clés ou d'un dictionnaire dont + Ces arguments sont transmis à la règle pour validation sous la forme + d'une liste de noms de mots-clés ou d'un dictionnaire dont les clés sont des noms de mots-clés. """ def verif(self,args): @@ -46,7 +46,7 @@ class UN_PARMI: for mc in self.mcs: if args.has_key(mc):count=count+1 if count != 1: - text = "- Il ne faut qu'un mot-clé parmi : "+`self.mcs`+'\n' + text = "- Il faut un et un seul mot-clé parmi : "+`self.mcs`+'\n' return text,0 return text,1