2 from string import Template
4 from compat import Template,set
7 import sys,traceback,os
8 sys.path=sys.path+[${python_path}]
24 class ${component}(${module}__POA.${component},dsccalcium.PyDSCComponent):
26 To be identified as a SALOME component this Python class
27 must have the same name as the component, inherit omniorb
28 class ${module}__POA.${component} and DSC class dsccalcium.PyDSCComponent
29 that implements DSC API.
31 def __init__ ( self, orb, poa, contID, containerName, instanceName, interfaceName ):
32 print "${component}.__init__: ", containerName, ';', instanceName,interfaceName
33 dsccalcium.PyDSCComponent.__init__(self, orb, poa,contID,containerName,instanceName,interfaceName)
35 def init_service(self,service):
42 pyCompoEXE="""#!/usr/bin/env python
45 dsccalcium.PyDSCComponent.destroy(self)
48 if __name__ == '__main__':
49 from omniORB import CORBA
51 orb = CORBA.ORB_init(sys.argv, CORBA.ORB_ID)
52 poa = orb.resolve_initial_references("RootPOA")
53 print "ORB and POA initialized",orb,poa
57 container=orb.string_to_object(sys.argv[1])
58 containerName=sys.argv[2]
59 instanceName=sys.argv[3]
61 compo=${component}(orb,poa,container,containerName, instanceName, "${component}")
62 comp_o = compo._this()
63 comp_iors = orb.object_to_string(comp_o)
64 print "ior ${component}",comp_iors
70 poaManager = poa._get_the_POAManager()
74 print "fin du composant ${component} standalone"
78 pyCompo=Template(pyCompo)
79 pyCompoEXE=Template(pyCompoEXE)
82 def ${service}(self,${inparams}):
83 print "${component}.${service}"
84 self.beginService("${component}.${service}")
92 print "End of ${component}.${service}"
94 self.endService("${component}.${service}")
99 exc_typ,exc_val,exc_fr=sys.exc_info()
100 l=traceback.format_exception(exc_typ,exc_val,exc_fr)
101 raise SALOME.SALOME_Exception(SALOME.ExceptionStruct(SALOME.BAD_PARAM,"".join(l),"${component}.py",0)) """
102 pyService=Template(pyService)
104 pyinitService=""" if service == "${service}":
105 #initialization CALCIUM ports IN
107 #initialization CALCIUM ports OUT
110 pyinitService=Template(pyinitService)
111 pyinitCEXEService=pyinitService
112 pyinitEXEService=pyinitService
116 pycompoMakefile="""include $$(top_srcdir)/adm_local/make_common_starter.am
117 salomepython_PYTHON = ${component}.py ${sources}
119 pycompoMakefile=Template(pycompoMakefile)
121 pycompoEXEMakefile="""include $$(top_srcdir)/adm_local/make_common_starter.am
122 salomepython_PYTHON = ${sources}
123 dist_salomescript_SCRIPTS= ${component}.exe
125 pycompoEXEMakefile=Template(pycompoEXEMakefile)