Salome HOME
Python3 porting: 1-st draft version. ngr/python3_dev
authorrnv <rnv@opencascade.com>
Wed, 24 May 2017 07:30:56 +0000 (10:30 +0300)
committerrnv <rnv@opencascade.com>
Wed, 24 May 2017 07:30:56 +0000 (10:30 +0300)
src/AddComponent/AddComponent_CheckOfUndefined.cxx
src/FactorialComponent/FactorialComponent.py
src/SIGNALSComponent/SIGNALSComponent_CheckOfUndefined.cxx
src/SyrComponent/COMPONENT_shared_modules.py
src/SyrControlComponent/SyrControlComponent.py

index 09f20588582022ff7d17688ce5f4942044fb472b..ae2ec2cedc8061bfb2c9ed68be8c14c5467c3ac2 100644 (file)
@@ -66,6 +66,14 @@ using namespace std;
 
 extern "C" void HandleServerSideSignals(CORBA::ORB_ptr theORB);
 
+#if PY_VERSION_HEX < 0x03050000
+static wchar_t*
+Py_DecodeLocale(const char *arg, size_t *size)
+{
+        return _Py_char2wchar(arg, size);
+}
+#endif
+
 int main(int argc, char* argv[])
 {
 #ifdef HAVE_MPI2
@@ -96,8 +104,12 @@ int main(int argc, char* argv[])
     }
   else
     {
+      wchar_t **changed_argv = new wchar_t*[argc];
+      for (int i = 0; i < argc; i++) {
+       changed_argv[i] = Py_DecodeLocale(argv[i], NULL);
+      }
       Py_Initialize() ;
-      PySys_SetArgv( argc , argv ) ;
+      PySys_SetArgv( argc , changed_argv ) ;
     }
     
   char *containerName = "";
index b978f67f920f25a357988d46784cf41d5ed885f1..84b1272b803758e5a05f3b1b5ff6823a2f7dad70 100644 (file)
@@ -40,25 +40,25 @@ class FactorialComponent( SuperVisionTest__POA.FactorialComponent, SALOME_Compon
 
     def eval(self, val):
         self.beginService( 'FactorialComponent eval' )
-        print "eval :",val
+        print("eval :",val)
         if (val < 0):
-            raise ArgumentError("factorial must be positive, not " + `val`)
+            raise ArgumentError("factorial must be positive, not " + repr(val))
         if (val < 2):
-            print "eval return",val
+            print("eval return",val)
             self.sendMessage( NOTIF_STEP , "Done" )
             self.endService( 'FactorialComponent eval' )
             return val
         else:
             val1 = self.eval(val-1)
             self.sendMessage( NOTIF_TRACE , "One More Time" )
-            print "eval return",val," * ",val1
+            print("eval return",val," * ",val1)
             return val * val1
     
     def sigma(self, val):
         self.beginService( 'FactorialComponent sigma' )
-        print "sigma :",val
+        print("sigma :",val)
         if (val < 0):
-            raise ArgumentError("sigma must be positive, not " + `val`)
+            raise ArgumentError("sigma must be positive, not " + repr(val))
         i = 0
         while i < 10000 :
             n = 1
@@ -67,7 +67,7 @@ class FactorialComponent( SuperVisionTest__POA.FactorialComponent, SALOME_Compon
                 s = s + n
                 n = n + 1
             i = i + 1
-        print "sigma returns",s
+        print("sigma returns",s)
         self.endService( 'FactorialComponent sigma' )
         return s
     
@@ -78,5 +78,5 @@ class FactorialComponent( SuperVisionTest__POA.FactorialComponent, SALOME_Compon
     def __init__(self, orb, poa, this, containerName, instanceName, interfaceName):
         SALOME_ComponentPy_i.__init__(self, orb, poa, this, containerName,
                                       instanceName, interfaceName, False)
-        print "FactorialComponent::__init__"
+        print("FactorialComponent::__init__")
 
index cf17237ed0b60795c72932a0de1d4027ca982656..0f97f6bd3ba2ea47111f66dfb07f77ad44b02010 100644 (file)
@@ -65,6 +65,15 @@ using namespace std;
 
 extern "C" void HandleServerSideSignals(CORBA::ORB_ptr theORB);
 
+
+#if PY_VERSION_HEX < 0x03050000
+static wchar_t*
+Py_DecodeLocale(const char *arg, size_t *size)
+{
+    return _Py_char2wchar(arg, size);
+}
+#endif
+
 int main(int argc, char* argv[])
 {
 #ifdef HAVE_MPI2
@@ -95,8 +104,12 @@ int main(int argc, char* argv[])
     }
   else
     {
+      wchar_t **changed_argv = new wchar_t*[argc];
+      for (int i = 0; i < argc; i++) {
+       changed_argv[i] = Py_DecodeLocale(argv[i], NULL);
+      }
       Py_Initialize() ;
-      PySys_SetArgv( argc , argv ) ;
+      PySys_SetArgv( argc , changed_argv ) ;
     }
     
   char *containerName = "";
index 92220b20d96035b35641e4e633cce2dc9ed135e3..22a74f015b6846115f2675f876ee8a0c997ed976 100644 (file)
@@ -28,7 +28,7 @@
 # see salome_shared_modules.py
 # (avoids incomplete import at run time)
 
-print "============== import SuperVisionTest ======================="
+print("============== import SuperVisionTest =======================")
 
 import SuperVisionTest
 
index 5de3f8ab5e5b1fc2c254ca722a915d50c9151901..35e722a278b78f717c1751a2d4962e7f2edaee04 100644 (file)
@@ -96,7 +96,7 @@ class SyrControlComponent( SuperVisionTest__POA.SyrControlComponent, SALOME_Comp
             if iN < max :
                 N = iN + 1
                 OutLoop = 1
-        print 'SyrControlComponent LOOPN InLoop iN OutLoop N',InLoop,iN,OutLoop,N
+        print('SyrControlComponent LOOPN InLoop iN OutLoop N',InLoop,iN,OutLoop,N)
         self.endService( 'SyrControlComponent LOOPN' )
         return OutLoop,N,0
 
@@ -106,7 +106,7 @@ class SyrControlComponent( SuperVisionTest__POA.SyrControlComponent, SALOME_Comp
             OutLoop = 1
         else :
             OutLoop = 0
-        print 'SyrControlComponent WHILENOTONE OutLoop N',OutLoop,N
+        print('SyrControlComponent WHILENOTONE OutLoop N',OutLoop,N)
         return OutLoop
 
     def IFNOTEVEN( self , N ) :
@@ -114,7 +114,7 @@ class SyrControlComponent( SuperVisionTest__POA.SyrControlComponent, SALOME_Comp
         Odd = 0
         if Even == 0 :
             Odd = 1
-        print 'SyrControlComponent IFNOTEVEN Odd Even N',Odd,Even,N
+        print('SyrControlComponent IFNOTEVEN Odd Even N',Odd,Even,N)
         return Odd,Even
 
     def LOOPi( self , InLoop , ii ):
@@ -127,19 +127,19 @@ class SyrControlComponent( SuperVisionTest__POA.SyrControlComponent, SALOME_Comp
             if ii+1 < 2 :
                 i = ii + 1
                 OutLoop = 1
-        print 'SyrControlComponent LOOPi InLoop ii OutLoop i',InLoop,ii,OutLoop,i
+        print('SyrControlComponent LOOPi InLoop ii OutLoop i',InLoop,ii,OutLoop,i)
         return OutLoop,i
 
     def WHILEEVEN( self , N ) :
         OutLoop = self.Syr.C_ISEVEN( N )
-        print 'SyrControlComponent WHILEEVEN OutLoop N',OutLoop,N
+        print('SyrControlComponent WHILEEVEN OutLoop N',OutLoop,N)
         return OutLoop 
 
     def __init__(self, orb, poa, this, containerName, instanceName, interfaceName):
         SALOME_ComponentPy_i.__init__(self, orb, poa, this, containerName,
                                       instanceName, interfaceName, True)
         self.Syr = lcc.FindOrLoadComponent( 'FactoryServer' , 'SyrComponent' )
-        print "SyrControlComponent::__init__",dir(self.Syr)
+        print("SyrControlComponent::__init__",dir(self.Syr))
 
     def getVersion( self ):
         import salome_version