From 94531d13450fad5a118e4d39d9693f46eb7e59a0 Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Wed, 3 Oct 2018 13:48:23 +0200 Subject: [PATCH] TypeInstance and basestring --- Adao/configuration_Adao.py | 1 - Adao/qtEficas_Adao.py | 1 - Editeur/Objecttreeitem.py | 6 ++++-- Efi2Xsd/cata.xml | 1 - Efi2Xsd/model.xsd | 1 - Extensions/nuplet.py | 4 ++-- Extensions/parametre.py | 4 ++-- Ihm/I_FICHIER.py | 2 +- Ihm/I_JDC.py | 3 ++- Ihm/I_MCCOMPO.py | 5 ++--- Ihm/I_MCLIST.py | 2 +- Ihm/I_MCSIMP.py | 4 ++-- InterfaceQT4/browser.py | 6 ++++-- InterfaceQT4/composimp.py | 5 +++-- InterfaceQT4/qtEficas.py | 2 +- Noyau/N_VALIDATOR.py | 7 ++++--- OldCodes/Aster/configuration_Aster.py | 1 - OldCodes/Aster/prefs_Aster.py | 1 - generator/generator_aplat.py | 8 +++++--- generator/generator_python.py | 4 ++-- generator/generator_vers3DSalome.py | 2 +- 21 files changed, 36 insertions(+), 34 deletions(-) delete mode 120000 Efi2Xsd/cata.xml delete mode 120000 Efi2Xsd/model.xsd delete mode 120000 OldCodes/Aster/configuration_Aster.py delete mode 120000 OldCodes/Aster/prefs_Aster.py diff --git a/Adao/configuration_Adao.py b/Adao/configuration_Adao.py index 580c9921..02bd5390 100644 --- a/Adao/configuration_Adao.py +++ b/Adao/configuration_Adao.py @@ -22,7 +22,6 @@ # """ - Ce module sert pour charger les paramètres de configuration d'EFICAS """ # Modules Python # print "passage dans la surcharge de configuration pour Adao" diff --git a/Adao/qtEficas_Adao.py b/Adao/qtEficas_Adao.py index 05eaee9a..43605163 100755 --- a/Adao/qtEficas_Adao.py +++ b/Adao/qtEficas_Adao.py @@ -32,5 +32,4 @@ __import__(name) #sys.setdefaultencoding('latin1') from InterfaceQT4 import eficas_go -print eficas_go eficas_go.lanceEficas(code=prefs.code) diff --git a/Editeur/Objecttreeitem.py b/Editeur/Objecttreeitem.py index 21c2408d..6a2c14c8 100644 --- a/Editeur/Objecttreeitem.py +++ b/Editeur/Objecttreeitem.py @@ -290,10 +290,12 @@ class ObjectTreeItem(TreeItem,Delegate): elif type(pos) == int : # la position est fixee index = pos - elif type(pos) == types.InstanceType: + #elif type(pos) == types.InstanceType: + elif type(pos) == object : # pos est un item. Il faut inserer name apres pos index = self.getIndex(pos) +1 - elif type(name) == types.InstanceType: + #elif type(name) == types.InstanceType: + elif type(name) == object : index = self.getIndexChild(name.nom) else: index = self.getIndexChild(name) diff --git a/Efi2Xsd/cata.xml b/Efi2Xsd/cata.xml deleted file mode 120000 index e5ed3c8f..00000000 --- a/Efi2Xsd/cata.xml +++ /dev/null @@ -1 +0,0 @@ -../CataTestXSD/Test_Catalogue_(1.1)_PyXB.xml \ No newline at end of file diff --git a/Efi2Xsd/model.xsd b/Efi2Xsd/model.xsd deleted file mode 120000 index 9b381ef3..00000000 --- a/Efi2Xsd/model.xsd +++ /dev/null @@ -1 +0,0 @@ -ModeleEficas/Model Efficas (1.1) v9.xsd \ No newline at end of file diff --git a/Extensions/nuplet.py b/Extensions/nuplet.py index 4d2a355c..fad34c6d 100644 --- a/Extensions/nuplet.py +++ b/Extensions/nuplet.py @@ -75,11 +75,11 @@ class NUPL(N_ENTITE.ENTITE,I_ENTITE.ENTITE): self.cr.fatal(tr("L'attribut 'max' doit etre un entier : ")+str(self.max)) if self.min > self.max : self.cr.fatal(tr("Nombres d'occurrence min et max invalides :") +str(self.min)+","+str(self.max)) - if type(self.fr) != bytes : + if type(self.fr) != bytes and type(self.fr) != str : self.cr.fatal(tr("L'attribut 'fr' doit etre une chaine de caracteres")) if self.statut not in ['o','f','c','d']: self.cr.fatal(tr("L'attribut 'statut' doit valoir 'o','f','c' ou 'd'")) - if type(self.docu) != bytes : + if type(self.docu) != bytes and type(self.docu) != str : self.cr.fatal(tr("L'attribut 'docu' doit etre une chaine de caracteres")) self.verifCataRegles() diff --git a/Extensions/parametre.py b/Extensions/parametre.py index 38e0f2f6..f99b8bdc 100644 --- a/Extensions/parametre.py +++ b/Extensions/parametre.py @@ -99,7 +99,7 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : return None return l_new_val - if type(val) == bytes: + if type(val) == bytes or type(val) == str: # on tente l'evaluation dans un contexte fourni par le parent s'il existe if self.parent: valeur=self.parent.evalInContext(val,self) @@ -284,7 +284,7 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : """ Donne un echo de self sous la forme nom = valeur """ - if type(self.valeur) == bytes: + if type(self.valeur) == bytes or type(self.valeur) == str : if self.valeur.find('\n') == -1: # pas de retour chariot, on utilise repr return self.nom+' = '+ repr(self.valeur) diff --git a/Ihm/I_FICHIER.py b/Ihm/I_FICHIER.py index c53da319..31b12cae 100644 --- a/Ihm/I_FICHIER.py +++ b/Ihm/I_FICHIER.py @@ -30,7 +30,7 @@ class Fichier: def __convert__(self,valeur): # Attention ne verifie pas grand chose # cela vaut-il la peine de refaire ce que Qt fait tres bien - if type(valeur) != bytes : + if type(valeur) != bytes and type(valeur) != str: return None return valeur diff --git a/Ihm/I_JDC.py b/Ihm/I_JDC.py index 6e12a5f9..5d8c3641 100644 --- a/Ihm/I_JDC.py +++ b/Ihm/I_JDC.py @@ -76,7 +76,8 @@ class JDC(I_OBJECT.OBJECT): l=[] for k,v in d.items(): - if type(v) != types.InstanceType and not isinstance(v,object): continue + #if type(v) != types.InstanceType and not isinstance(v,object): continue + if not isinstance(v,object): continue # On considere que seul assd indique un type quelconque pas CO elif self.assd in types_permis : if v.etape.sdnom != "sansnom" : l.append(k) diff --git a/Ihm/I_MCCOMPO.py b/Ihm/I_MCCOMPO.py index 23419327..a9976a1c 100644 --- a/Ihm/I_MCCOMPO.py +++ b/Ihm/I_MCCOMPO.py @@ -222,13 +222,12 @@ class MCCOMPO(I_OBJECT.OBJECT): l'objet MCCOMPOSE """ self.initModif() - if type(name)==bytes : + if type(name)==bytes or type(name) == str : # on est en mode creation d'un motcle if self.ispermis(name) == 0 : return 0 objet=self.definition.entites[name](val=None,nom=name,parent=self) else : # dans ce cas on est en mode copie d'un motcle - objet = name # Appel de la methode qui fait le menage dans les references # sur les concepts produits (verification que les concepts existent # dans le contexte de la commande courante). @@ -281,7 +280,7 @@ class MCCOMPO(I_OBJECT.OBJECT): est bien permis, cad peut bien etre un fils de self, Retourne 0 sinon """ - if type(fils) == bytes : + if type(fils) == bytes or type(fils) == str : # on veut juste savoir si self peut avoir un fils de nom 'fils' if fils in self.definition.entites: return 1 diff --git a/Ihm/I_MCLIST.py b/Ihm/I_MCLIST.py index b9eb660a..84792a8d 100644 --- a/Ihm/I_MCLIST.py +++ b/Ihm/I_MCLIST.py @@ -91,7 +91,7 @@ class MCList: Ajoute le mot cle facteur obj a la MCLIST a la position pos Retourne None si l'ajout est impossible """ - if type(obj)==bytes : + if type(obj)==bytes or type(obj) == str : # on est en mode creation d'un motcle raise EficasException(tr("traitement non-prevu")) diff --git a/Ihm/I_MCSIMP.py b/Ihm/I_MCSIMP.py index 681160b0..0bd9a544 100644 --- a/Ihm/I_MCSIMP.py +++ b/Ihm/I_MCSIMP.py @@ -118,11 +118,11 @@ class MCSIMP(I_OBJECT.OBJECT): if isinstance(val,tuple): texteVal='(' for i in val : - if isinstance(i, bytes) : texteVal = texteVal +"'"+str(i)+"'," + if isinstance(i, bytes) or isinstance(i,str) : texteVal = texteVal +"'"+str(i)+"'," else : texteVal = texteVal + str(i)+',' texteVal=texteVal[:-1]+')' else : - if isinstance(val,bytes): texteVal="'"+str(val)+"'" + if isinstance(val,bytes) or isinstance(val, str): texteVal="'"+str(val)+"'" else :texteVal=str(val) txt = txt + sep+ texteVal diff --git a/InterfaceQT4/browser.py b/InterfaceQT4/browser.py index a49edc41..d74c201f 100644 --- a/InterfaceQT4/browser.py +++ b/InterfaceQT4/browser.py @@ -570,10 +570,12 @@ class JDCNode(QTreeWidgetItem,GereRegles): elif type(pos) == int : # position fixee index = pos - elif type(pos) == types.InstanceType: + elif type(pos) == object: + #elif type(pos) == types.InstanceType: # pos est un item. Il faut inserer name apres pos index = self.item.getIndex(pos) +1 - elif type(name) == types.InstanceType: + #elif type(name) == types.InstanceType: + elif type(name) == object: index = self.item.getIndexChild(name.nom) else: index = self.item.getIndexChild(name) diff --git a/InterfaceQT4/composimp.py b/InterfaceQT4/composimp.py index c9a3ef1d..cf26ced0 100644 --- a/InterfaceQT4/composimp.py +++ b/InterfaceQT4/composimp.py @@ -719,7 +719,7 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): #print "evalValeurItem",valeurretour,validite if validite == 0: - if type(valeur) == bytes and self.object.waitTxm(): + if (type(valeur) == bytes or type(valeur) == str )and self.object.waitTxm(): essai_valeur="'" + valeur + "'" valeurretour,validite= self.object.evalValeur(essai_valeur) @@ -757,7 +757,8 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): # et donc pas dans sdprods (resultat d'une exception dans typeSDProd) if not valeur:valeur=self.object.valeur if valeur in self.object.etape.sdprods:return 1 - if type(valeur) is not types.InstanceType:return 0 + #if type(valeur) is not types.InstanceType:return 0 + if type(valeur) is not object:return 0 if valeur.__class__.__name__ == 'CO':return 1 return 0 diff --git a/InterfaceQT4/qtEficas.py b/InterfaceQT4/qtEficas.py index 08de9be6..e02e0aa3 100755 --- a/InterfaceQT4/qtEficas.py +++ b/InterfaceQT4/qtEficas.py @@ -152,7 +152,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): #if 1 : # print ('attention try devient if 1') self.ouvreFichiers() - except EficasException, exc: + except EficasException as exc: #except: # print "je suis dans le except" if self.salome == 0 : exit() diff --git a/Noyau/N_VALIDATOR.py b/Noyau/N_VALIDATOR.py index 2989000f..9f7720cf 100644 --- a/Noyau/N_VALIDATOR.py +++ b/Noyau/N_VALIDATOR.py @@ -201,7 +201,7 @@ class TypeProtocol(PProtocol): return obj except Exception as err: pass - elif type(type_permis) == types.InstanceType or isinstance(type_permis, object): + elif isinstance(type_permis, object): try: if type_permis.__convert__(obj): return obj @@ -1533,7 +1533,8 @@ class InstanceVal(ListVal): def __init__(self, aClass): # Si aClass est une classe on la memorise dans self.aClass # sinon c'est une instance dont on memorise la classe - if type(aClass) == types.InstanceType: + #if type(aClass) == types.InstanceType: + if type(aClass) == object : # instance ancienne mode aClass = aClass.__class__ elif type(aClass) == type: @@ -1612,7 +1613,7 @@ class VerifTypeTuple(ListVal): if self.isComplexe(valeur): return 1 elif type_permis == 'TXM': - if type(valeur) == bytes: + if type(valeur) == bytes or type(valeur) == str: return 1 elif isinstance(valeur, type_permis): return 1 diff --git a/OldCodes/Aster/configuration_Aster.py b/OldCodes/Aster/configuration_Aster.py deleted file mode 120000 index ae867366..00000000 --- a/OldCodes/Aster/configuration_Aster.py +++ /dev/null @@ -1 +0,0 @@ -configuration_ASTER.py \ No newline at end of file diff --git a/OldCodes/Aster/prefs_Aster.py b/OldCodes/Aster/prefs_Aster.py deleted file mode 120000 index 11643fec..00000000 --- a/OldCodes/Aster/prefs_Aster.py +++ /dev/null @@ -1 +0,0 @@ -prefs_ASTER.py \ No newline at end of file diff --git a/generator/generator_aplat.py b/generator/generator_aplat.py index 251240ba..2bbdaade 100644 --- a/generator/generator_aplat.py +++ b/generator/generator_aplat.py @@ -212,7 +212,7 @@ class AplatGenerator(object): Cette methode convertit un PARAMETRE en une chaine de caracteres a la syntaxe aplat """ - if type(obj.valeur) == bytes: + if type(obj.valeur) == bytes or type(obj.valeur) == str: # PN pour corriger le bug a='3+4' au lieu de a= 3+4 #return obj.nom + " = '" + obj.valeur + "';\n" return obj.nom + " = " + obj.valeur + ";\n" @@ -310,12 +310,14 @@ class AplatGenerator(object): # On est en presence d'une liste de valeur rep = '(' for val in obj.valeur: - if type(val) == types.InstanceType : + #if type(val) == types.InstanceType : + if isinstance(val,object): rep = rep + self.generator(val) +',' else: rep = rep + repr(val)+',' rep = rep + ')' - elif type(obj.valeur) == types.InstanceType : + #elif type(obj.valeur) == types.InstanceType : + elif type(obj.valeur) == object : # On est en presence d'une valeur unique de type instance rep = self.generator(obj.valeur) else : diff --git a/generator/generator_python.py b/generator/generator_python.py index 1f5a043a..479c472a 100644 --- a/generator/generator_python.py +++ b/generator/generator_python.py @@ -201,7 +201,7 @@ class PythonGenerator(object): # Si au moins une etape, on ajoute le retour chariot sur la derniere etape if type(l[-1])==list: l[-1][-1] = l[-1][-1]+'\n' - elif type(l[-1])==bytes: + elif type(l[-1])==bytes or type(l[-1])==str: l[-1] = l[-1]+'\n' return l @@ -516,7 +516,7 @@ class PythonGenerator(object): if valeur in self.appli.appliEficas.dict_reels[clefobj]: s=self.appli.appliEficas.dict_reels[clefobj][valeur] - elif type(valeur) == bytes : + elif type(valeur) == bytes or type(valeur) == str : if valeur.find('\n') == -1: # pas de retour chariot, on utilise repr s = repr(valeur) diff --git a/generator/generator_vers3DSalome.py b/generator/generator_vers3DSalome.py index d8e7f667..331cbfbe 100644 --- a/generator/generator_vers3DSalome.py +++ b/generator/generator_vers3DSalome.py @@ -196,7 +196,7 @@ class vers3DSalomeGenerator(PythonGenerator): def CARA(self,obj) : self.clefs=obj.val - if type(self.clefs) == bytes : + if type(self.clefs) == bytes or type(self.clefs) == str: self.clefs=(obj.val,) def VALE(self,obj) : -- 2.39.2