]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Internal structures modification for Python 3 support
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Sun, 19 Mar 2017 19:38:29 +0000 (20:38 +0100)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Sun, 19 Mar 2017 19:38:29 +0000 (20:38 +0100)
src/daComposant/daCore/BasicObjects.py
src/daComposant/daCore/Persistence.py
src/daComposant/daCore/Templates.py
src/daComposant/daNumerics/ApproximatedDerivatives.py

index 6d992710eb7d4cf40f0928f9cd2836f6d5998f87..917848add3501eb54d90472116978b63481f0ac5 100644 (file)
@@ -463,7 +463,7 @@ class Algorithm(object):
         dictionnaire des paramètres requis.
         """
         if noDetails:
-            ks = self.__required_parameters.keys()
+            ks = list(self.__required_parameters.keys())
             ks.sort()
             return ks
         else:
index b9c657758262d8d8d34af6a31cde672ef8f1ef65..3ff81f55635f35680a38b58d07fe300ba5bd8fe6 100644 (file)
@@ -27,7 +27,7 @@
 __author__ = "Jean-Philippe ARGAUD"
 __all__ = []
 
-import numpy, copy
+import sys, numpy, copy
 
 from daCore.PlatformInfo import PathManagement ; PathManagement()
 
@@ -238,7 +238,7 @@ class Persistence(object):
                 allTags = {}
                 for index in __indexOfFilteredItems:
                     allTags.update( self.__tags[index] )
-                allKeys = allTags.keys()
+                allKeys = list(allTags.keys())
                 allKeys.sort()
                 return allKeys
 
@@ -594,7 +594,7 @@ class Persistence(object):
         self.__g('set ylabel "'+str(ylabel).encode('ascii','replace')+'"')
         #
         # Tracé du ou des vecteurs demandés
-        indexes = range(len(self.__values))
+        indexes = list(range(len(self.__values)))
         self.__g.plot( self.__gnuplot.Data( Steps, self.__values[indexes.pop(0)], title=ltitle+" (pas 0)" ) )
         for index in indexes:
             self.__g.replot( self.__gnuplot.Data( Steps, self.__values[index], title=ltitle+" (pas %i)"%index ) )
@@ -610,20 +610,30 @@ class Persistence(object):
         Association à la variable d'un triplet définissant un observer
 
         Le Scheduler attendu est une fréquence, une simple liste d'index ou un
-        xrange des index.
+        range des index.
         """
         #
         # Vérification du Scheduler
         # -------------------------
         maxiter = int( 1e9 )
-        if isinstance(Scheduler,int):      # Considéré comme une fréquence à partir de 0
-            Schedulers = xrange( 0, maxiter, int(Scheduler) )
-        elif isinstance(Scheduler,xrange): # Considéré comme un itérateur
-            Schedulers = Scheduler
-        elif isinstance(Scheduler,list):   # Considéré comme des index explicites
-            Schedulers = [long(i) for i in Scheduler] # map( long, Scheduler )
-        else:                              # Dans tous les autres cas, activé par défaut
-            Schedulers = xrange( 0, maxiter )
+        if sys.version.split()[0] < '3':
+            if isinstance(Scheduler,int):      # Considéré comme une fréquence à partir de 0
+                Schedulers = xrange( 0, maxiter, int(Scheduler) )
+            elif isinstance(Scheduler,xrange): # Considéré comme un itérateur
+                Schedulers = Scheduler
+            elif isinstance(Scheduler,(list,tuple)):   # Considéré comme des index explicites
+                Schedulers = [long(i) for i in Scheduler] # map( long, Scheduler )
+            else:                              # Dans tous les autres cas, activé par défaut
+                Schedulers = xrange( 0, maxiter )
+        else:
+            if isinstance(Scheduler,int):      # Considéré comme une fréquence à partir de 0
+                Schedulers = range( 0, maxiter, int(Scheduler) )
+            elif sys.version.split()[0] > '3' and isinstance(Scheduler,range): # Considéré comme un itérateur
+                Schedulers = Scheduler
+            elif isinstance(Scheduler,(list,tuple)):   # Considéré comme des index explicites
+                Schedulers = [int(i) for i in Scheduler] # map( int, Scheduler )
+            else:                              # Dans tous les autres cas, activé par défaut
+                Schedulers = range( 0, maxiter )
         #
         # Stockage interne de l'observer dans la variable
         # -----------------------------------------------
@@ -647,7 +657,7 @@ class Persistence(object):
         index_to_remove = []
         for [hf, hp, hs] in self.__dataobservers:
             i = i + 1
-            if name is hf.func_name: index_to_remove.append( i )
+            if name is hf.__name__: index_to_remove.append( i )
         index_to_remove.reverse()
         for i in index_to_remove:
             self.__dataobservers.pop( i )
@@ -838,6 +848,7 @@ class CompositePersistence(object):
                 finally:
                     pass
             objs = usedObjs
+        objs = list(objs)
         objs.sort()
         return objs
 
@@ -858,7 +869,10 @@ class CompositePersistence(object):
         else:
             filename = os.path.abspath( filename )
         #
-        import cPickle
+        if sys.version.split()[0] < '3':
+            import cPickle as lPickle
+        else:
+            import pickle  as lPickle
         if mode == "pickle":
             if compress == "gzip":
                 import gzip
@@ -868,7 +882,7 @@ class CompositePersistence(object):
                 output = bz2.BZ2File( filename, 'wb')
             else:
                 output = open( filename, 'wb')
-            cPickle.dump(self, output)
+            lPickle.dump(self, output)
             output.close()
         else:
             raise ValueError("Save mode '%s' unknown. Choose another one."%mode)
@@ -885,7 +899,10 @@ class CompositePersistence(object):
         else:
             filename = os.path.abspath( filename )
         #
-        import cPickle
+        if sys.version.split()[0] < '3':
+            import cPickle as lPickle
+        else:
+            import pickle  as lPickle
         if mode == "pickle":
             if compress == "gzip":
                 import gzip
@@ -895,7 +912,7 @@ class CompositePersistence(object):
                 pkl_file = bz2.BZ2File( filename, 'rb')
             else:
                 pkl_file = open(filename, 'rb')
-            output = cPickle.load(pkl_file)
+            output = lPickle.load(pkl_file)
             for k in output.keys():
                 self[k] = output[k]
         else:
index c7ab6b1e20d3e6a4a5897fed44832fe053f570b5..a6d1ec4f313a17746f550dd03117744e0273ed64 100644 (file)
@@ -56,7 +56,7 @@ class TemplateStorage(object):
 
     def keys(self):
         "D.keys() -> list of D's keys"
-        __keys = self.__values.keys()
+        __keys = list(self.__values.keys())
         __keys.sort()
         return __keys
 
index 4cc812d799dca38e83c623b49bd7e2d697c73580..cd6581bd21f854e170731ac4459f4548aad34ca0 100644 (file)
@@ -139,7 +139,7 @@ class FDApproximation(object):
     # ---------------------------------------------------------
     def __doublon__(self, e, l, n, v=None):
         __ac, __iac = False, -1
-        for i in xrange(len(l)-1,-1,-1):
+        for i in range(len(l)-1,-1,-1):
             if numpy.linalg.norm(e - l[i]) < self.__tolerBP * n[i]:
                 __ac, __iac = True, i
                 if v is not None: logging.debug("FDA Cas%s déja calculé, récupération du doublon %i"%(v,__iac))