"""
"""
# Modules Python
+from __future__ import absolute_import
+from __future__ import print_function
import types,traceback,sys,os
-import string,linecache
+import linecache
from Extensions.i18n import tr
from Extensions.eficas_exception import EficasException
# Modules Eficas
-import I_OBJECT
+from . import I_OBJECT
import Noyau
from Noyau.N_ASSD import ASSD
#from Noyau.N_LASSD import LASSD
from Noyau.N_ETAPE import ETAPE
from Noyau.N_Exception import AsException
from Extensions import commentaire,parametre,parametre_eval
-import CONNECTOR
+from . import CONNECTOR
import Validation
class LASSD:
self._etape_context=None
self.recorded_units={}
self.old_recorded_units={}
+
def get_index(self,objet):
"""
"""
Retourne la liste des concepts avant etape d'un type acceptable
"""
- print "je suis la",self,etape,types_permis
d=self.get_contexte_avant(etape)
etapeStop=etape
l=[]
for etapeTraitee in self.etapes :
- if etapeTraitee==etapeStop:
- break
- if etapeTraitee.nom == 'DISTRIBUTION' :
- l.append(etapeTraitee.sd.nom)
+ if etapeTraitee==etapeStop: break
+ if etapeTraitee.nom == 'DISTRIBUTION' and etapeTraitee.sd !=None : l.append(etapeTraitee.sd.nom)
return l
- def set_Copules_recalcule_etat(self):
- for etapeTraitee in self.etapes :
- if etapeTraitee.nom == 'CORRELATION' :
- Matrix=etapeTraitee.get_child('Matrix')
- if Matrix !=None :
- Correlation=etapeTraitee.get_child('CorrelationMatrix')
- if Correlation !=None :
- Correlation.state='arecalculer'
- Matrix.state='arecalculer'
+ #def set_Copules_recalcule_etat(self):
+ # for etapeTraitee in self.etapes :
+ # if etapeTraitee.nom == 'CORRELATION' :
+ #Matrix=etapeTraitee.get_child('Matrix')
+ #if Matrix !=None :
+ # Correlation=etapeTraitee.get_child('CorrelationMatrix')
+ # if Correlation !=None : Correlation.state='arecalculer'
+ # Matrix.state='arecalculer'
+ #def recalcule_etat_correlation(self):
+ # for etapeTraitee in self.etapes :
+ # if etapeTraitee.nom == 'CORRELATION' :
+ #Matrix=etapeTraitee.get_child('Matrix')
+ #if Matrix !=None :
+ # Matrix.state='arecalculer'
+ # Correlation=Matrix.get_child('CorrelationMatrix')
+ # if Correlation !=None : Correlation.state='arecalculer'
+ # Correlation.isvalid()
+ # Matrix.isvalid()
+ # etapeTraitee.state='arecalculer'
+ # if etapeTraitee.state=='arecalculer': etapeTraitee.isvalid()
+
def recalcule_etat_correlation(self):
for etapeTraitee in self.etapes :
if etapeTraitee.nom == 'CORRELATION' :
- Matrix=etapeTraitee.get_child('Matrix')
- if Matrix !=None :
- Matrix.state='arecalculer'
- Correlation=Matrix.get_child('CorrelationMatrix')
- if Correlation !=None :
- Correlation.state='arecalculer'
- Correlation.isvalid()
- Matrix.isvalid()
- etapeTraitee.state='arecalculer'
- if etapeTraitee.state=='arecalculer':
- etapeTraitee.isvalid()
-
+ Correlation=etapeTraitee.get_child('CorrelationMatrix')
+ if Correlation !=None :
+ Correlation.state='arecalculer'
+ Correlation.isvalid()
+ etapeTraitee.isvalid()
def recalcule_validite_apres_changement_global_jdc(self):
#print "je passe dans recalcule_validite_apres_changement_global_jdc"
return 1
elif type_ok == 'TXM' and v.__class__.__name__ == 'chaine' :
return 1
- elif type(type_ok) != types.ClassType and not isinstance(type_ok,type):
+ elif type(type_ok) != type and not isinstance(type_ok,type):
continue
elif v.__class__ == type_ok or issubclass(v.__class__,type_ok):
return 1
if isinstance(child,commentaire.COMMENTAIRE):
ind = ind+1
objet = commentaire.COMMENTAIRE('',parent=self)
- objet.nom = "_comm_"+`ind`
+ objet.nom = "_comm_"+repr(ind)
if pos == None : pos = 0
self.etapes.insert(pos,objet)
self.reset_context()
CONNECTOR.Emit(self,"add",e)
self.fin_modif()
return e
- except AsException,e:
+ except AsException as e:
traceback.print_exc()
self.reset_current_step()
self.editmode=0
Retourne 0 dans le cas contraire
"""
#PN correction de bugs
- if etape not in self.etapes:
- return 0
+ if etape not in self.etapes: return 0
self.init_modif()
index_etape=self.etapes.index(etape)
+
self.etapes.remove(etape)
if etape.niveau is not self:
et du contexte gobal
"""
if param in self.params : self.params.remove(param)
- if self.g_context.has_key(param.nom) : del self.g_context[param.nom]
+ if param.nom in self.g_context : del self.g_context[param.nom]
def get_parametres_fonctions_avant_etape(self,etape):
"""
for param in self.params:
nom = param.nom
if not nom : continue
- if d.has_key(nom): l_constantes.append(nom)
+ if nom in d: l_constantes.append(nom)
# construction de l_fonctions
for form in self.fonctions:
nom = form.nom
if not nom : continue
- if d.has_key(nom): l_fonctions.append(form.get_formule())
+ if nom in d: l_fonctions.append(form.get_formule())
# on ajoute les concepts produits par DEFI_VALEUR
# XXX On pourrait peut etre faire plutot le test sur le type
if l : l_mc.extend(l)
return l_mc
+ def get_genealogie_precise(self):
+ return []
+
def get_genealogie(self):
"""
Retourne la liste des noms des ascendants de l'objet self
#print "del_sdprod",self.g_context
#print "del_sdprod",self.sds_dict
#if sd in self.sds : self.sds.remove(sd)
- if self.g_context.has_key(sd.nom) : del self.g_context[sd.nom]
- if self.sds_dict.has_key(sd.nom) : del self.sds_dict[sd.nom]
+ if sd.nom in self.g_context : del self.g_context[sd.nom]
+ if sd.nom in self.sds_dict : del self.sds_dict[sd.nom]
def del_param(self,param):
"""
et du contexte gobal
"""
if param in self.params : self.params.remove(param)
- if self.g_context.has_key(param.nom) : del self.g_context[param.nom]
+ if param.nom in self.g_context : del self.g_context[param.nom]
def del_fonction(self,fonction):
"""
et du contexte gobal
"""
if fonction in self.fonctions : self.fonctions.remove(fonction)
- if self.g_context.has_key(fonction.nom) : del self.g_context[fonction.nom]
+ if fonction.nom in self.g_context: del self.g_context[fonction.nom]
def append_sdprod(self,sd):
"""
child.update_concept(sd)
def dump_state(self):
- print "JDC.state: ",self.state
+ print(("JDC.state: ",self.state))
for etape in self.etapes :
- print etape.nom+".state: ",etape.state
+ print((etape.nom+".state: ",etape.state))
def change_unit(self,unit,etape,old_unit):
#print "change_unit",unit,etape,old_unit
#ATTENTION SURCHARGE : cette methode doit etre gardee en synchronisation avec celle de Noyau
def supprime(self):
- #print "supprime",self
Noyau.N_JDC.JDC.supprime(self)
for etape in self.etapes:
etape.supprime()
# Cette etape est indiquee par l'attribut _etape_context qui a ete
# positionne prealablement par un appel a set_etape_context
- if CONTEXT.debug : print "JDC.NommerSdprod ",sd,sdnom
+ if CONTEXT.debug : print(("JDC.NommerSdprod ",sd,sdnom))
if self._etape_context:
o=self.get_contexte_avant(self._etape_context).get(sdnom,None)
text=fproc.read()
fproc.close()
#if file == None : return None,None
- text=string.replace(text,'\r\n','\n')
+ text=text.replace('\r\n','\n')
if file:
- linecache.cache[file]=0,0,string.split(text,'\n'),file
+ linecache.cache[file]=0,0,text.split('\n'),file
return file,text
def isvalid(self,cr='non'):
def get_l_noms_etapes(self):
"""
- Retourne la liste des noms des étapes de self
+ Retourne la liste des noms des etapes de self
"""
l=[]
for etape in self.etapes: