Salome HOME
updated copyright message
[samples/pyhello.git] / src / PYHELLO / PYHELLO.py
index 03757668700ad0b0a30de14a2952412c8918c366..5e3a0590ca884509128b701dee5e9ffbe2669580 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 #
 import PYHELLO_ORB__POA
 import SALOME_ComponentPy
+import SALOME_Embedded_NamingService_ClientPy
 import SALOME_DriverPy
 import SALOMEDS
-
-from PYHELLO_utils import *
+from PYHELLO_utils import findOrCreateComponent, objectID, moduleName, getStudy
 
 class PYHELLO(PYHELLO_ORB__POA.PYHELLO_Gen,
               SALOME_ComponentPy.SALOME_ComponentPy_i,
@@ -45,11 +45,15 @@ class PYHELLO(PYHELLO_ORB__POA.PYHELLO_Gen,
     def __init__ ( self, orb, poa, contID, containerName, instanceName,
                    interfaceName ):
         SALOME_ComponentPy.SALOME_ComponentPy_i.__init__(self, orb, poa,
-                    contID, containerName, instanceName, interfaceName, 0)
+                    contID, containerName, instanceName, interfaceName, False)
         SALOME_DriverPy.SALOME_DriverPy_i.__init__(self, interfaceName)
         #
-        self._naming_service = SALOME_ComponentPy.SALOME_NamingServicePy_i( self._orb )
-        #
+        emb_ns = self._contId.get_embedded_NS_if_ssl()
+        import CORBA
+        if CORBA.is_nil(emb_ns):
+            self._naming_service = SALOME_ComponentPy.SALOME_NamingServicePy_i( self._orb )
+        else:
+            self._naming_service = SALOME_Embedded_NamingService_ClientPy.SALOME_Embedded_NamingService_ClientPy(emb_ns)
         pass
 
     """
@@ -77,43 +81,46 @@ class PYHELLO(PYHELLO_ORB__POA.PYHELLO_Gen,
     """
     Create object.
     """
-    def createObject( self, study, name ):
+    def createObject( self, name ):
+        study = getStudy()
         builder = study.NewBuilder()
-        father  = findOrCreateComponent( study )
-        object  = builder.NewObject( father )
-        attr    = builder.FindOrCreateAttribute( object, "AttributeName" )
+        father  = findOrCreateComponent()
+        obj  = builder.NewObject( father )
+        attr    = builder.FindOrCreateAttribute( obj, "AttributeName" )
         attr.SetValue( name )
-        attr    = builder.FindOrCreateAttribute( object, "AttributeLocalID" )
+        attr    = builder.FindOrCreateAttribute( obj, "AttributeLocalID" )
         attr.SetValue( objectID() )
         pass
 
     """
     Dump module data to the Python script.
     """
-    def DumpPython( self, study, isPublished, isMultiFile ):
+    def DumpPython( self, isPublished, isMultiFile ):
         abuffer = []
         names = []
+        study = getStudy()
         father = study.FindComponent( moduleName() )
         if father:
-            iter = study.NewChildIterator( father )
-            while iter.More():
-                name = iter.Value().GetName()
+            iterator = study.NewChildIterator(father)
+            while iterator.More():
+                name = iterator.Value().GetName()
                 if name: names.append( name )
-                iter.Next()
+                iterator.Next()
                 pass
             pass
         if names:
-            abuffer += [ "from salome import lcc" ]
+            abuffer += [ "import salome" ]
             abuffer += [ "import PYHELLO_ORB" ]
             abuffer += [ "" ]
-            abuffer += [ "pyhello = lcc.FindOrLoadComponent( 'FactoryServerPy', '%s' )" % moduleName() ]
+            abuffer += [ "pyhello = salome.lcc.FindOrLoadComponent( 'FactoryServer', '%s' )" % moduleName() ]
             abuffer += [ "" ]
-            abuffer += [ "pyhello.createObject( theStudy, '%s' )" % name for name in names ]
+            abuffer += [ "pyhello.createObject( '%s')" % name for name in names ]
             abuffer += [ "" ]
             pass
         if isMultiFile:
-            abuffer       = [ "  " + s for s in abuffer ]
-            abuffer[0:0]  = [ "def RebuildData( theStudy ):" ]
-            abuffer      += [ "  pass" ]
+            abuffer = [ "  " + s for s in abuffer ]
+            abuffer[0:0] = [ "def RebuildData():" ]
+            abuffer += [ "    pass" ]
         abuffer += [ "\0" ]
-        return ("\n".join( abuffer ), 1)
+        res = "\n".join( abuffer )
+        return (res.encode(), 1)