Salome HOME
Merge 'master' branch into 'V9_dev' branch
[modules/kernel.git] / src / KERNEL_PY / kernel / enumerate.py
index 2190b2a018078669d706ffc9b2527a5d64dbfe2d..2ff423acaabbf5f37ccddfec9427c9c73c28a15d 100644 (file)
@@ -53,6 +53,7 @@ class Enumerate(object):
             value = offset + number
             setattr(self, key, value)
             self._dict_keynumbers[key] = value
+        self._dict_numberkeys = {v: k for k, v in self._dict_keynumbers.items()}
 
     ## Return true if this enumerate contains the specified key string
     #  \param key a key string to test
@@ -61,7 +62,7 @@ class Enumerate(object):
         Return true if this enumerate contains the specified key string
         @key a key string to test
         """
-        return (key in self._dict_keynumbers.keys())
+        return key in self._dict_keynumbers
 
     ## Returns true if the specified integer value is defined as an identifier
     #  in this enumerate.
@@ -72,25 +73,21 @@ class Enumerate(object):
         in this enumerate.
         @value a value to test
         """
-        return (value in self._dict_keynumbers.values())
+        return value in self._dict_numberkeys
 
     ## Returns the list of keys in this enumerate.
     def listkeys(self):
         """
         Returns the list of keys in this enumerate.
         """
-        list = self._dict_keynumbers.keys()
-        list.sort()
-        return list
+        return sorted(self._dict_keynumbers)
 
     ## Returns the list of values specified to initiate this enumerate.
     def listvalues(self):
         """
         Returns the list of values specified to initiate this enumerate.
         """
-        list = self._dict_keynumbers.values()
-        list.sort()
-        return list
+        return sorted(self._dict_numberkeys)
 
     ## Returns the symbolic key string associated to the specified identifier value.
     #  \param value an integer value whose associated key string is requested.
@@ -104,7 +101,7 @@ class Enumerate(object):
             return None
         # _MEM_ We assume here that the keys and associated values are in the
         # same order in their list.
-        return self._dict_keynumbers.keys()[self._dict_keynumbers.values().index(value)]
+        return self._dict_numberkeys[value]
 
         # If not, weshould use a longer implementation such that:
         #for key in self._dict_keynumbers.keys():
@@ -122,7 +119,7 @@ def TEST_simple():
         'SEP',
         'OTHER'
     ])
-    print TYPES_LIST.listvalues()
+    print(TYPES_LIST.listvalues())
     return True
 
 def TEST_createFromList():
@@ -133,8 +130,8 @@ def TEST_createFromList():
         'MED',
         'SMESH'])
 
-    print codes.KERNEL
-    print codes.GEOM
+    print(codes.KERNEL)
+    print(codes.GEOM)
     if (codes.KERNEL == 0 and codes.GEOM == 2):
         return True
     else:
@@ -145,8 +142,8 @@ def TEST_createFromString():
 
     codes = Enumerate(aList.split())
 
-    print codes.KERNEL
-    print codes.GEOM
+    print(codes.KERNEL)
+    print(codes.GEOM)
     if (codes.KERNEL == 0 and codes.GEOM == 2):
         return True
     else:
@@ -160,7 +157,7 @@ def TEST_contains():
         'MED',
         'SMESH'])
 
-    print "VISU in enumerate?", codes.contains("VISU")
+    print("VISU in enumerate?", codes.contains("VISU"))
     if (not codes.contains("VISU")):
         return True
     else:
@@ -187,8 +184,8 @@ def TEST_offset():
         'MED',
         'SMESH'], offset=20)
 
-    print codes.KERNEL
-    print codes.GEOM
+    print(codes.KERNEL)
+    print(codes.GEOM)
     if (codes.KERNEL == 20 and codes.GEOM == 22):
         return True
     else:
@@ -202,7 +199,7 @@ def TEST_listvalues():
         'MED',
         'SMESH'], offset=20)
 
-    print codes.listvalues()
+    print(codes.listvalues())
     if codes.listvalues() != [20, 21, 22, 23, 24]:
         return False
     return True
@@ -224,7 +221,7 @@ def TEST_keyOf():
     return True
 
 if __name__ == "__main__":
-    import unittester
+    from . import unittester
     unittester.run("enumerate", "TEST_simple")
     unittester.run("enumerate", "TEST_createFromList")
     unittester.run("enumerate", "TEST_createFromString")