From 67e32edae76f1d6950710d8373c5657292c384ca Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Tue, 30 Apr 2019 17:17:38 +0200 Subject: [PATCH] UserASSD + cata qui importe un cata --- InterfaceQT4/readercata.py | 6 +++++- Noyau/N_OBJECT.py | 10 ++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/InterfaceQT4/readercata.py b/InterfaceQT4/readercata.py index 2830d613..e104a64d 100644 --- a/InterfaceQT4/readercata.py +++ b/InterfaceQT4/readercata.py @@ -232,7 +232,6 @@ class ReaderCata (ReaderCataCommun): # retrouveOrdreCataStandard fait une analyse textuelle du catalogue # remplace par retrouveOrdreCataStandardAutre qui utilise une numerotation # des mots cles a la creation - #print (self.cata) #print (dir(self.cata)) self.retrouveOrdreCataStandardAutre() if self.appliEficas.maConfiguration.modeNouvCommande == "initial" : self.retrouveOrdreCataStandard() @@ -275,9 +274,14 @@ class ReaderCata (ReaderCataCommun): sys.path[:0] = [rep_cata] self.appliEficas.listeAEnlever.append(rep_cata) + # PNPNPN pas propre __ A reflechir + if 'cata_Vimmp' in list(sys.modules.keys()) : + del sys.modules['cata_Vimmp'] + print (list(sys.modules.keys())) if nom_cata in list(sys.modules.keys()) : del sys.modules[nom_cata] + for k in sys.modules: if k[0:len(nom_cata)+1] == nom_cata+'.': del sys.modules[k] diff --git a/Noyau/N_OBJECT.py b/Noyau/N_OBJECT.py index 304c55d5..dce2d528 100644 --- a/Noyau/N_OBJECT.py +++ b/Noyau/N_OBJECT.py @@ -115,6 +115,8 @@ class OBJECT(object): # mais il ne faut pas mettre la valeur des MC utilisant la classe a None # sinon, le siValide ne peut rien faire # c est pourquoi il faut gerer listeDesValeursSupprimees + # et une liste des valeurs qui peut contenir un melange objet/nom selon + # la creation des objets dans le .comm if not hasattr(self,'listeNomsObjsCrees') : self.listeNomsObjsCrees = [] newlisteNomsObjsCrees = [] @@ -122,7 +124,7 @@ class OBJECT(object): change=False if not isinstance(self.valeur,(list, tuple)) : valTraitee = (self.valeur,) else : valTraitee = self.valeur - + for v in valTraitee: if not (v in self.listeNomsObjsCrees): change=True @@ -138,19 +140,21 @@ class OBJECT(object): self.jdc.sds_dict[v] = newObj newObj.sdnom = v newlisteNomsObjsCrees.append(v) + for oldv in self.listeNomsObjsCrees : if oldv not in valTraitee : change=True listeSupprimees.append(self.jdc.sds_dict[oldv]) self.jdc.sds_dict.pop(oldv) self.listeNomsObjsCrees.remove(oldv) + for v in newlisteNomsObjsCrees : self.listeNomsObjsCrees.append(v) + if not change : return if classeACreer in list(self.jdc.utilise_un_sds_dict.keys()): for MC in self.jdc.utilise_un_sds_dict[classeACreer] : - #PNPNPN if MC.valeur == None : return if MC.definition.max == 1 : if isinstance(MC.valeur, str) and MC.valeur in list(self.jdc.sds_dict.keys()): @@ -160,6 +164,8 @@ class OBJECT(object): for val in MC.valeur : if isinstance(val, str) and val in list(self.jdc.sds_dict.keys()): newVal.append(self.jdc.sds_dict[val]) + else: + newVal.append(val) MC.valeur=newVal if MC.definition.max == 1 : -- 2.39.2