salome.kernel 9.14.0.post6__cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. salome/bin/salome/IDLparser.py +882 -0
  2. salome/bin/salome/KernelHelpersUseCases +0 -0
  3. salome/bin/salome/NSparam.py +51 -0
  4. salome/bin/salome/ORBConfigFile.py +55 -0
  5. salome/bin/salome/SALOMEDS_Client +0 -0
  6. salome/bin/salome/SALOMEDS_Server +0 -0
  7. salome/bin/salome/SALOME_ConnectionManagerServer +0 -0
  8. salome/bin/salome/SALOME_Container +0 -0
  9. salome/bin/salome/SALOME_ContainerPy.py +397 -0
  10. salome/bin/salome/SALOME_Container_No_NS_Serv +0 -0
  11. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess +0 -0
  12. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_FT +0 -0
  13. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay +0 -0
  14. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay_FT +0 -0
  15. salome/bin/salome/SALOME_DataScopeServer +0 -0
  16. salome/bin/salome/SALOME_DataScopeServer_SSL +0 -0
  17. salome/bin/salome/SALOME_LauncherServer +0 -0
  18. salome/bin/salome/SALOME_Logger_Server +0 -0
  19. salome/bin/salome/SALOME_ModuleCatalog_Client +0 -0
  20. salome/bin/salome/SALOME_ModuleCatalog_Server +0 -0
  21. salome/bin/salome/SALOME_Registry_Server +0 -0
  22. salome/bin/salome/TestComponentPy.py +71 -0
  23. salome/bin/salome/TestContainer +0 -0
  24. salome/bin/salome/TestContainerManager +0 -0
  25. salome/bin/salome/TestLauncher +0 -0
  26. salome/bin/salome/TestLifeCycleCORBA.py +89 -0
  27. salome/bin/salome/TestLogger +0 -0
  28. salome/bin/salome/TestLogger.py +27 -0
  29. salome/bin/salome/TestModuleCatalog.py +87 -0
  30. salome/bin/salome/Test_LifeCycleCORBA +0 -0
  31. salome/bin/salome/VERSION +3 -0
  32. salome/bin/salome/addToKillList.py +35 -0
  33. salome/bin/salome/app-quickstart.py +288 -0
  34. salome/bin/salome/appli/.bashrc +50 -0
  35. salome/bin/salome/appli/extra.env.d/001.py +42 -0
  36. salome/bin/salome/appli/python_test_driver.py +148 -0
  37. salome/bin/salome/appli/salome +193 -0
  38. salome/bin/salome/appli/salome_instance.py +31 -0
  39. salome/bin/salome/appli/salome_test_driver.py +150 -0
  40. salome/bin/salome/appli/salome_test_driver_gui.py +82 -0
  41. salome/bin/salome/appli_clean.sh +53 -0
  42. salome/bin/salome/appli_gen.py +606 -0
  43. salome/bin/salome/dummyexe_loggerTraceCollector +0 -0
  44. salome/bin/salome/envSalome.py +59 -0
  45. salome/bin/salome/killSalome.py +48 -0
  46. salome/bin/salome/killSalomeWithPort.py +56 -0
  47. salome/bin/salome/prepare_generating_doc.py +104 -0
  48. salome/bin/salome/pythonpath_reduction.py +184 -0
  49. salome/bin/salome/runConsole.py +39 -0
  50. salome/bin/salome/runIDLparser +58 -0
  51. salome/bin/salome/runRemote.py +101 -0
  52. salome/bin/salome/runSalome.py +30 -0
  53. salome/bin/salome/runSalomeNoServer.py +24 -0
  54. salome/bin/salome/runSalomeOld.py +36 -0
  55. salome/bin/salome/runSalomeOnDemand.py +41 -0
  56. salome/bin/salome/salomeContext.py +36 -0
  57. salome/bin/salome/salome_process_attach +44 -0
  58. salome/bin/salome/salome_process_launcher +58 -0
  59. salome/bin/salome/setenv.py +32 -0
  60. salome/bin/salome/showNS.py +33 -0
  61. salome/bin/salome/test/kernel/ArgvKeeper/CTestTestfile.cmake +31 -0
  62. salome/bin/salome/test/kernel/ArgvKeeper/TestArgvKeeper +0 -0
  63. salome/bin/salome/test/kernel/ArgvKeeper/test_ArgvKeeper.py +34 -0
  64. salome/bin/salome/test/kernel/CTestTestfile.cmake +49 -0
  65. salome/bin/salome/test/kernel/Container/CTestTestfile.cmake +29 -0
  66. salome/bin/salome/test/kernel/Container/testProxy.py +291 -0
  67. salome/bin/salome/test/kernel/Container/testcontainer.py +106 -0
  68. salome/bin/salome/test/kernel/KernelHelpers/CTestTestfile.cmake +31 -0
  69. salome/bin/salome/test/kernel/KernelHelpers/KernelHelpersUnitTests.hxx +58 -0
  70. salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers +0 -0
  71. salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers.py +55 -0
  72. salome/bin/salome/test/kernel/Launcher/CTestTestfile.cmake +43 -0
  73. salome/bin/salome/test/kernel/Launcher/TestSSLAttached.py +110 -0
  74. salome/bin/salome/test/kernel/Launcher/launcher_use_case.py +65 -0
  75. salome/bin/salome/test/kernel/Launcher/testCrashProofContainer.py +423 -0
  76. salome/bin/salome/test/kernel/Launcher/testPerfLogManager1.py +382 -0
  77. salome/bin/salome/test/kernel/Launcher/test_launcher.py +674 -0
  78. salome/bin/salome/test/kernel/Launcher/test_stress.sh +45 -0
  79. salome/bin/salome/test/kernel/Launcher_SWIG/CTestTestfile.cmake +30 -0
  80. salome/bin/salome/test/kernel/Launcher_SWIG/test_swig_launcher.py +706 -0
  81. salome/bin/salome/test/kernel/LifeCycleCORBA/CTestTestfile.cmake +27 -0
  82. salome/bin/salome/test/kernel/LifeCycleCORBA/LifeCycleCORBATest.hxx +105 -0
  83. salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA +0 -0
  84. salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA.py +93 -0
  85. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CTestTestfile.cmake +40 -0
  86. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CatalogResources_resource.xml +15 -0
  87. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/LifeCycleCORBA_SWIGTest.py +217 -0
  88. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/SALOME_TestComponentPy.py +49 -0
  89. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/TestLifeCycleCORBA_SWIG.py +100 -0
  90. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testcontainermanager.py +88 -0
  91. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testresourcemanager.py +155 -0
  92. salome/bin/salome/test/kernel/NamingService/CTestTestfile.cmake +28 -0
  93. salome/bin/salome/test/kernel/NamingService/NamingServiceTest.hxx +169 -0
  94. salome/bin/salome/test/kernel/NamingService/TestNamingService +0 -0
  95. salome/bin/salome/test/kernel/NamingService/TestNamingService.py +64 -0
  96. salome/bin/salome/test/kernel/SALOMEDS/CTestTestfile.cmake +27 -0
  97. salome/bin/salome/test/kernel/SALOMEDS/SALOMEDSTest.hxx +192 -0
  98. salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS +0 -0
  99. salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS.py +55 -0
  100. salome/bin/salome/test/kernel/SALOMEDSImpl/CTestTestfile.cmake +27 -0
  101. salome/bin/salome/test/kernel/SALOMEDSImpl/SALOMEDSImplTest.hxx +51 -0
  102. salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl +0 -0
  103. salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl.py +55 -0
  104. salome/bin/salome/test/kernel/SALOMELocalTrace/CTestTestfile.cmake +27 -0
  105. salome/bin/salome/test/kernel/SALOMELocalTrace/SALOMELocalTraceTest.hxx +59 -0
  106. salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace +0 -0
  107. salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace.py +40 -0
  108. salome/bin/salome/test/kernel/SALOMETraceCollector/CTestTestfile.cmake +27 -0
  109. salome/bin/salome/test/kernel/SALOMETraceCollector/SALOMETraceCollectorTest.hxx +51 -0
  110. salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector +0 -0
  111. salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector.py +57 -0
  112. salome/bin/salome/test/kernel/UnitTests/CTestTestfile.cmake +28 -0
  113. salome/bin/salome/test/kernel/UnitTests/UnitTests +0 -0
  114. salome/bin/salome/test/kernel/UnitTests/UnitTests.py +89 -0
  115. salome/bin/salome/test/kernel/Utils/CTestTestfile.cmake +27 -0
  116. salome/bin/salome/test/kernel/Utils/TestUtils +0 -0
  117. salome/bin/salome/test/kernel/Utils/TestUtils.py +55 -0
  118. salome/bin/salome/test/kernel/Utils/UtilsTest.hxx +58 -0
  119. salome/bin/salome/test/kernel/lib/libLifeCycleCORBATest.so +0 -0
  120. salome/bin/salome/test/kernel/lib/libNamingServiceTest.so +0 -0
  121. salome/bin/salome/test/kernel/lib/libSALOMEDSImplTest.so +0 -0
  122. salome/bin/salome/test/kernel/lib/libSALOMEDSTest.so +0 -0
  123. salome/bin/salome/test/kernel/lib/libSALOMELocalTraceTest.so +0 -0
  124. salome/bin/salome/test/kernel/lib/libSALOMETraceCollectorTest.so +0 -0
  125. salome/bin/salome/test/kernel/lib/libSalomeKernelHelpersTest.so +0 -0
  126. salome/bin/salome/test/kernel/lib/libUtilsTest.so +0 -0
  127. salome/bin/salome/testDF +0 -0
  128. salome/bin/salome/testDS +0 -0
  129. salome/bin/salome/virtual_salome.py +38 -0
  130. salome/bin/salome/waitContainers.py +82 -0
  131. salome/bin/salome/waitNS.py +31 -0
  132. salome/kernel/ArgvKeeper.py +132 -0
  133. salome/kernel/Calcium_Ports_idl.py +645 -0
  134. salome/kernel/DSC_Engines_idl.py +443 -0
  135. salome/kernel/Engines/__init__.py +24 -0
  136. salome/kernel/Engines__POA/__init__.py +24 -0
  137. salome/kernel/Help.py +141 -0
  138. salome/kernel/KernelBasis.py +463 -0
  139. salome/kernel/KernelContainer.py +81 -0
  140. salome/kernel/KernelDS.py +87 -0
  141. salome/kernel/KernelLauncher.py +117 -0
  142. salome/kernel/KernelLogger.py +75 -0
  143. salome/kernel/KernelModuleCatalog.py +76 -0
  144. salome/kernel/KernelSDS.py +92 -0
  145. salome/kernel/KernelServices.py +105 -0
  146. salome/kernel/LifeCycleCORBA.py +92 -0
  147. salome/kernel/Logger_idl.py +89 -0
  148. salome/kernel/NSTEST/__init__.py +13 -0
  149. salome/kernel/NSTEST__POA/__init__.py +13 -0
  150. salome/kernel/NSparam_impl.py +50 -0
  151. salome/kernel/NamingService.py +365 -0
  152. salome/kernel/ORBConfigFile_impl.py +102 -0
  153. salome/kernel/Palm_Ports_idl.py +162 -0
  154. salome/kernel/PortManager.py +259 -0
  155. salome/kernel/Ports/Calcium_Ports/__init__.py +13 -0
  156. salome/kernel/Ports/Palm_Ports/__init__.py +13 -0
  157. salome/kernel/Ports/__init__.py +18 -0
  158. salome/kernel/Ports__POA/Calcium_Ports/__init__.py +13 -0
  159. salome/kernel/Ports__POA/Palm_Ports/__init__.py +13 -0
  160. salome/kernel/Ports__POA/__init__.py +18 -0
  161. salome/kernel/PyInterp.py +99 -0
  162. salome/kernel/Registry/__init__.py +13 -0
  163. salome/kernel/Registry__POA/__init__.py +13 -0
  164. salome/kernel/SALOME/__init__.py +19 -0
  165. salome/kernel/SALOMEDS/__init__.py +14 -0
  166. salome/kernel/SALOMEDS_Attributes_idl.py +2288 -0
  167. salome/kernel/SALOMEDS__POA/__init__.py +14 -0
  168. salome/kernel/SALOMEDS_idl.py +1590 -0
  169. salome/kernel/SALOMEWrappedStdType.py +383 -0
  170. salome/kernel/SALOME_Comm_idl.py +1045 -0
  171. salome/kernel/SALOME_CommonTypes_idl.py +69 -0
  172. salome/kernel/SALOME_ComponentPy.py +338 -0
  173. salome/kernel/SALOME_Component_idl.py +962 -0
  174. salome/kernel/SALOME_Container.py +242 -0
  175. salome/kernel/SALOME_ContainerHelper.py +840 -0
  176. salome/kernel/SALOME_ContainerManager_idl.py +236 -0
  177. salome/kernel/SALOME_DriverPy.py +86 -0
  178. salome/kernel/SALOME_Embedded_NamingService.py +41 -0
  179. salome/kernel/SALOME_Embedded_NamingService_ClientPy.py +59 -0
  180. salome/kernel/SALOME_Embedded_NamingService_idl.py +125 -0
  181. salome/kernel/SALOME_Exception_idl.py +75 -0
  182. salome/kernel/SALOME_ExternalServerLauncher_idl.py +199 -0
  183. salome/kernel/SALOME_GenericObj_idl.py +154 -0
  184. salome/kernel/SALOME_GlobalsImpl.py +38 -0
  185. salome/kernel/SALOME_Launcher_idl.py +327 -0
  186. salome/kernel/SALOME_Locker_idl.py +185 -0
  187. salome/kernel/SALOME_LogManager.py +103 -0
  188. salome/kernel/SALOME_LogManager_idl.py +348 -0
  189. salome/kernel/SALOME_Logger/__init__.py +13 -0
  190. salome/kernel/SALOME_Logger__POA/__init__.py +13 -0
  191. salome/kernel/SALOME_MPIObject_idl.py +100 -0
  192. salome/kernel/SALOME_ModuleCatalog/__init__.py +13 -0
  193. salome/kernel/SALOME_ModuleCatalog__POA/__init__.py +13 -0
  194. salome/kernel/SALOME_ModuleCatalog_idl.py +624 -0
  195. salome/kernel/SALOME_NamingServicePy.py +313 -0
  196. salome/kernel/SALOME_PACOExtension_idl.py +292 -0
  197. salome/kernel/SALOME_ParamPorts_idl.py +102 -0
  198. salome/kernel/SALOME_Parametric_idl.py +154 -0
  199. salome/kernel/SALOME_Ports_idl.py +347 -0
  200. salome/kernel/SALOME_PyNode.py +1557 -0
  201. salome/kernel/SALOME_PyNode_idl.py +387 -0
  202. salome/kernel/SALOME_Registry_idl.py +155 -0
  203. salome/kernel/SALOME_ResourcesManager_idl.py +215 -0
  204. salome/kernel/SALOME_SDS_idl.py +1181 -0
  205. salome/kernel/SALOME_Session_idl.py +214 -0
  206. salome/kernel/SALOME_TYPES/__init__.py +14 -0
  207. salome/kernel/SALOME_TYPES__POA/__init__.py +14 -0
  208. salome/kernel/SALOME_TestComponent_idl.py +121 -0
  209. salome/kernel/SALOME_TestModuleCatalog/__init__.py +13 -0
  210. salome/kernel/SALOME_TestModuleCatalog__POA/__init__.py +13 -0
  211. salome/kernel/SALOME_TestModuleCatalog_idl.py +194 -0
  212. salome/kernel/SALOME_Trace.py +96 -0
  213. salome/kernel/SALOME_Types_idl.py +81 -0
  214. salome/kernel/SALOME__POA/__init__.py +19 -0
  215. salome/kernel/SALOME_utilities.py +63 -0
  216. salome/kernel/SalomeSDSClt.py +552 -0
  217. salome/kernel/TestKiller.py +76 -0
  218. salome/kernel/Utils_Identity.py +93 -0
  219. salome/kernel/_ArgvKeeper.so +0 -0
  220. salome/kernel/_KernelBasis.so +0 -0
  221. salome/kernel/_KernelContainer.so +0 -0
  222. salome/kernel/_KernelDS.so +0 -0
  223. salome/kernel/_KernelLauncher.so +0 -0
  224. salome/kernel/_KernelLogger.so +0 -0
  225. salome/kernel/_KernelModuleCatalog.so +0 -0
  226. salome/kernel/_KernelSDS.so +0 -0
  227. salome/kernel/_KernelServices.so +0 -0
  228. salome/kernel/_NamingService.so +0 -0
  229. salome/kernel/_calcium.so +0 -0
  230. salome/kernel/_libNOTIFICATION.so +0 -0
  231. salome/kernel/_libSALOME_Comm.so +0 -0
  232. salome/kernel/_libSALOME_LifeCycleCORBA.so +0 -0
  233. salome/kernel/_pylauncher.so +0 -0
  234. salome/kernel/addToKillList_impl.py +127 -0
  235. salome/kernel/batchmode_salome.py +295 -0
  236. salome/kernel/calcium.py +866 -0
  237. salome/kernel/dsccalcium.py +98 -0
  238. salome/kernel/iparameters.py +255 -0
  239. salome/kernel/kernel_test.py +114 -0
  240. salome/kernel/killSalomeWithPort_impl.py +518 -0
  241. salome/kernel/killSalome_impl.py +94 -0
  242. salome/kernel/launchConfigureParser.py +1234 -0
  243. salome/kernel/launcher_proxy.py +122 -0
  244. salome/kernel/libNOTIFICATION.py +119 -0
  245. salome/kernel/libSALOME_Comm.py +85 -0
  246. salome/kernel/libSALOME_LifeCycleCORBA.py +232 -0
  247. salome/kernel/main.py +8 -0
  248. salome/kernel/nameserver.py +134 -0
  249. salome/kernel/nstest_idl.py +129 -0
  250. salome/kernel/omnipatch.py +136 -0
  251. salome/kernel/orbmodule.py +246 -0
  252. salome/kernel/parseConfigFile.py +261 -0
  253. salome/kernel/pylauncher.py +883 -0
  254. salome/kernel/runConsole_impl.py +224 -0
  255. salome/kernel/runSalomeCommon.py +418 -0
  256. salome/kernel/runSalomeNoServer_impl.py +48 -0
  257. salome/kernel/runSalomeOld_impl.py +603 -0
  258. salome/kernel/runSalomeOnDemand_impl.py +72 -0
  259. salome/kernel/runSalome_impl.py +341 -0
  260. salome/kernel/runSession.py +360 -0
  261. salome/kernel/runTests.py +90 -0
  262. salome/kernel/salome/__init__.py +648 -0
  263. salome/kernel/salome/kernel/__init__.py +111 -0
  264. salome/kernel/salome/kernel/datamodeler.py +363 -0
  265. salome/kernel/salome/kernel/deprecation.py +165 -0
  266. salome/kernel/salome/kernel/diclookup.py +137 -0
  267. salome/kernel/salome/kernel/enumerate.py +232 -0
  268. salome/kernel/salome/kernel/logconfig.py +27 -0
  269. salome/kernel/salome/kernel/logger.py +290 -0
  270. salome/kernel/salome/kernel/parametric/__init__.py +26 -0
  271. salome/kernel/salome/kernel/parametric/compo_utils.py +137 -0
  272. salome/kernel/salome/kernel/parametric/pyscript_utils.py +135 -0
  273. salome/kernel/salome/kernel/parametric/study_exchange_vars.py +285 -0
  274. salome/kernel/salome/kernel/pyunittester.py +184 -0
  275. salome/kernel/salome/kernel/services.py +267 -0
  276. salome/kernel/salome/kernel/studyedit.py +637 -0
  277. salome/kernel/salome/kernel/syshelper.py +116 -0
  278. salome/kernel/salome/kernel/termcolor.py +239 -0
  279. salome/kernel/salome/kernel/testdata.py +159 -0
  280. salome/kernel/salome/kernel/threadhelper.py +385 -0
  281. salome/kernel/salome/kernel/uiexception.py +121 -0
  282. salome/kernel/salome/kernel/unittester.py +89 -0
  283. salome/kernel/salomeContextUtils.py +353 -0
  284. salome/kernel/salomeContext_impl.py +731 -0
  285. salome/kernel/salome_ComponentGUI.py +92 -0
  286. salome/kernel/salome_genericobj.py +44 -0
  287. salome/kernel/salome_iapp.py +206 -0
  288. salome/kernel/salome_instance_impl.py +109 -0
  289. salome/kernel/salome_kernel_utils.py +88 -0
  290. salome/kernel/salome_notebook.py +183 -0
  291. salome/kernel/salome_psutil.py +94 -0
  292. salome/kernel/salome_pynode.py +74 -0
  293. salome/kernel/salome_study.py +347 -0
  294. salome/kernel/salome_test.py +56 -0
  295. salome/kernel/salome_utils.py +563 -0
  296. salome/kernel/salome_version.py +164 -0
  297. salome/kernel/searchFreePort.py +130 -0
  298. salome/kernel/server.py +154 -0
  299. salome/kernel/setenv_impl.py +240 -0
  300. salome/kernel/share/salome/resources/kernel/Anita semi square.ttf +0 -0
  301. salome/kernel/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
  302. salome/kernel/share/salome/resources/kernel/CatalogResources.xml +4 -0
  303. salome/kernel/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
  304. salome/kernel/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
  305. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
  306. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
  307. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
  308. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
  309. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
  310. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
  311. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
  312. salome/kernel/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
  313. salome/kernel/share/salome/resources/kernel/app-template/LICENCE +504 -0
  314. salome/kernel/share/salome/resources/kernel/app-template/README +0 -0
  315. salome/kernel/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
  316. salome/kernel/share/salome/resources/kernel/app-template/doc/README +1 -0
  317. salome/kernel/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
  318. salome/kernel/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
  319. salome/kernel/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
  320. salome/kernel/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
  321. salome/kernel/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
  322. salome/kernel/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
  323. salome/kernel/share/salome/resources/kernel/app-template/resources/about.png +0 -0
  324. salome/kernel/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
  325. salome/kernel/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
  326. salome/kernel/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
  327. salome/kernel/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
  328. salome/kernel/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
  329. salome/kernel/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
  330. salome/kernel/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
  331. salome/kernel/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
  332. salome/kernel/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
  333. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
  334. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
  335. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
  336. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
  337. salome/kernel/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
  338. salome/kernel/share/salome/resources/kernel/app-template/src/tests/README +1 -0
  339. salome/kernel/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
  340. salome/kernel/share/salome/resources/kernel/background.png +0 -0
  341. salome/kernel/share/salome/resources/kernel/channel.cfg +278 -0
  342. salome/kernel/share/salome/resources/kernel/testLauncher.xml +10 -0
  343. salome/kernel/version_and_config.py +24 -0
  344. salome/share/salome/resources/kernel/Anita semi square.ttf +0 -0
  345. salome/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
  346. salome/share/salome/resources/kernel/CatalogResources.xml +4 -0
  347. salome/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
  348. salome/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
  349. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
  350. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
  351. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
  352. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
  353. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
  354. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
  355. salome/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
  356. salome/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
  357. salome/share/salome/resources/kernel/app-template/LICENCE +504 -0
  358. salome/share/salome/resources/kernel/app-template/README +0 -0
  359. salome/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
  360. salome/share/salome/resources/kernel/app-template/doc/README +1 -0
  361. salome/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
  362. salome/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
  363. salome/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
  364. salome/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
  365. salome/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
  366. salome/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
  367. salome/share/salome/resources/kernel/app-template/resources/about.png +0 -0
  368. salome/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
  369. salome/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
  370. salome/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
  371. salome/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
  372. salome/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
  373. salome/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
  374. salome/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
  375. salome/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
  376. salome/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
  377. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
  378. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
  379. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
  380. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
  381. salome/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
  382. salome/share/salome/resources/kernel/app-template/src/tests/README +1 -0
  383. salome/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
  384. salome/share/salome/resources/kernel/background.png +0 -0
  385. salome/share/salome/resources/kernel/channel.cfg +278 -0
  386. salome/share/salome/resources/kernel/testLauncher.xml +10 -0
  387. salome_kernel-9.14.0.post6.dist-info/METADATA +25 -0
  388. salome_kernel-9.14.0.post6.dist-info/RECORD +443 -0
  389. salome_kernel-9.14.0.post6.dist-info/WHEEL +6 -0
  390. salome_kernel-9.14.0.post6.dist-info/entry_points.txt +2 -0
  391. salome_kernel-9.14.0.post6.dist-info/sboms/auditwheel.cdx.json +1 -0
  392. salome_kernel.libs/libArgvKeeper-822351d5.so +0 -0
  393. salome_kernel.libs/libCOS4-b4544fb9.so.2.5 +0 -0
  394. salome_kernel.libs/libCOSDynamic4-618dbb1d.so.2.5 +0 -0
  395. salome_kernel.libs/libCalciumC-f6af782c.so +0 -0
  396. salome_kernel.libs/libDF-281cc999.so +0 -0
  397. salome_kernel.libs/libLauncher-09c39914.so +0 -0
  398. salome_kernel.libs/libLauncherWrapHelper-5ee25ab2.so +0 -0
  399. salome_kernel.libs/libOpUtil-8d37ccc8.so +0 -0
  400. salome_kernel.libs/libRegistry-e4a63a9e.so +0 -0
  401. salome_kernel.libs/libResourcesManager-f4ef9548.so +0 -0
  402. salome_kernel.libs/libSALOMEBasics-f4d874ac.so +0 -0
  403. salome_kernel.libs/libSALOMELocalTrace-a3992e5b.so +0 -0
  404. salome_kernel.libs/libSALOMELog-55805468.so +0 -0
  405. salome_kernel.libs/libSalomeCalcium-859bd08a.so +0 -0
  406. salome_kernel.libs/libSalomeCatalog-cc0d3e4b.so +0 -0
  407. salome_kernel.libs/libSalomeCommunication-451307b4.so +0 -0
  408. salome_kernel.libs/libSalomeContainer-385f22bc.so +0 -0
  409. salome_kernel.libs/libSalomeContainerServer-22f0534a.so +0 -0
  410. salome_kernel.libs/libSalomeDS-52142005.so +0 -0
  411. salome_kernel.libs/libSalomeDSCContainer-50b97993.so +0 -0
  412. salome_kernel.libs/libSalomeDSCSuperv-c3169f30.so +0 -0
  413. salome_kernel.libs/libSalomeDSCSupervBasic-49dc930a.so +0 -0
  414. salome_kernel.libs/libSalomeDSClient-dc9947bb.so +0 -0
  415. salome_kernel.libs/libSalomeDSImpl-7984f375.so +0 -0
  416. salome_kernel.libs/libSalomeDatastream-450015c8.so +0 -0
  417. salome_kernel.libs/libSalomeGenericObj-3ccf0028.so +0 -0
  418. salome_kernel.libs/libSalomeHDFPersist-5d0aa606.so +0 -0
  419. salome_kernel.libs/libSalomeIDLKernel-2eb1ed8e.so +0 -0
  420. salome_kernel.libs/libSalomeKernelHelpers-1e3c2b19.so +0 -0
  421. salome_kernel.libs/libSalomeLauncher-59553570.so +0 -0
  422. salome_kernel.libs/libSalomeLifeCycleCORBA-d0360629.so +0 -0
  423. salome_kernel.libs/libSalomeLoggerServer-15201cc7.so +0 -0
  424. salome_kernel.libs/libSalomeNS-a03a7eba.so +0 -0
  425. salome_kernel.libs/libSalomeNotification-66efcfbd.so +0 -0
  426. salome_kernel.libs/libSalomeORB-f304f4df.so +0 -0
  427. salome_kernel.libs/libSalomePalm-72fea792.so +0 -0
  428. salome_kernel.libs/libSalomeResourcesManager-fd411949.so +0 -0
  429. salome_kernel.libs/libSalomeSDS-543d0459.so +0 -0
  430. salome_kernel.libs/libSalomeTestComponentEngine-317ebef6.so +0 -0
  431. salome_kernel.libs/libTOOLSDS-db8e8629.so +0 -0
  432. salome_kernel.libs/libbatch-779d48ee.so +0 -0
  433. salome_kernel.libs/libboost_atomic-489c2d94.so.1.81.0 +0 -0
  434. salome_kernel.libs/libboost_filesystem-e610b554.so.1.81.0 +0 -0
  435. salome_kernel.libs/libboost_system-4a7650ea.so.1.81.0 +0 -0
  436. salome_kernel.libs/libcppunit-1-17e77af1.12.so.1.0.0 +0 -0
  437. salome_kernel.libs/libhdf5-4696a94b.so.103.0.0 +0 -0
  438. salome_kernel.libs/liblzma-004595ca.so.5.2.2 +0 -0
  439. salome_kernel.libs/libomniDynamic4-9edc765d.so.2.5 +0 -0
  440. salome_kernel.libs/libomniORB4-4725824d.so.2.5 +0 -0
  441. salome_kernel.libs/libomnithread-99f9d0d3.so.4.1 +0 -0
  442. salome_kernel.libs/libwith_loggerTraceCollector-c1de231b.so +0 -0
  443. salome_kernel.libs/libwith_loggerTraceCollector.so +0 -0
  444. salome_kernel.libs/libxml2-3998bec4.so.2.9.1 +0 -0
@@ -0,0 +1,882 @@
1
+ # -*- coding: iso-8859-1 -*-
2
+ # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
3
+ #
4
+ # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5
+ # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6
+ #
7
+ # This library is free software; you can redistribute it and/or
8
+ # modify it under the terms of the GNU Lesser General Public
9
+ # License as published by the Free Software Foundation; either
10
+ # version 2.1 of the License, or (at your option) any later version.
11
+ #
12
+ # This library is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ # Lesser General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Lesser General Public
18
+ # License along with this library; if not, write to the Free Software
19
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
+ #
21
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22
+ #
23
+
24
+ import os
25
+ import os.path as osp
26
+ import re
27
+ import xml.sax
28
+
29
+ from xml.sax.handler import *
30
+ from omniidl import idlast, idltype, idlvisitor, idlutil, output
31
+ from salome_utils import getUserName
32
+
33
+ # parameters not found in IDL file, user's specified in optional parameters
34
+ common_data={"AUTHOR" : "",
35
+ "ICON" : "",
36
+ "VERSION" : "",
37
+ "COMP_TYPE" : "",
38
+ "COMP_NAME" : "",
39
+ "COMP_UNAME" : "",
40
+ "COMP_IMPL" : ""
41
+ }
42
+
43
+ nb_components = 0
44
+
45
+ #--------------------------------------------------
46
+ # extract value of <param_name> from <args> list
47
+ # it's proposed that the matching <args> item
48
+ # looks like <param_name>=<value>, for example,
49
+ # catalog=/tmp/myxml.xml
50
+ #--------------------------------------------------
51
+ def getParamValue( param_name, default_value, args ):
52
+ pattern="^"+param_name+"="
53
+
54
+ res = default_value #initial value
55
+ for opt in args:
56
+ s = re.compile(pattern).search(opt)
57
+ if s:
58
+ res = opt[s.end():]
59
+ break #found
60
+
61
+ return res
62
+
63
+
64
+ #--------------------------------------------------
65
+ # print error message
66
+ #--------------------------------------------------
67
+ def error (message):
68
+ print("ERROR : ", message)
69
+
70
+
71
+ #--------------------------------------------------
72
+ # base class implementing tree
73
+ #--------------------------------------------------
74
+ class Tree:
75
+
76
+ def __init__(self, name = '', content = '', key = None):
77
+ self.name = name
78
+ self.content = content
79
+ self.key = key
80
+ self.parent = None
81
+ self.childs = []
82
+ self.comments = []
83
+ self.attrs={}
84
+
85
+ def addChild(self, tree):
86
+ if tree is not None:
87
+ self.childs.append(tree)
88
+ tree.parent = self
89
+ return tree
90
+
91
+ def addNamedChild(self, name, content = ''):
92
+ return self.addChild(Tree(name, content))
93
+
94
+ def replaceChild(self, tree):
95
+ if tree is not None:
96
+ pos = 0
97
+ for i in self.childs:
98
+ if (i.name == tree.name) & ((i.key is None) | (i.key == tree.key)):
99
+ self.childs.pop(pos)
100
+ self.childs.insert(pos, tree)
101
+ return tree
102
+ pos += 1
103
+
104
+ return self.addChild(tree)
105
+
106
+ def insertFirstChild(self, tree):
107
+ if tree is not None:
108
+ self.childs.insert(0, tree)
109
+ return tree
110
+
111
+ def insertFirstNamedChild(self, name, content = ''):
112
+ return self.insertFirstChild(Tree(name, content))
113
+
114
+ def output_xml(self, f, depth=0):
115
+ d = depth
116
+ if self.name != '':
117
+ s = ''.ljust(4*depth)
118
+ s += '<' + self.name
119
+ for k,v in list(self.attrs.items()):
120
+ s += ' ' + k + '="' + v + '"'
121
+ s += '>'
122
+ if self.content != '':
123
+ s += self.content
124
+ else:
125
+ if len(self.childs) > 0:
126
+ s += '\n'
127
+ f.write(s)
128
+ d += 1
129
+
130
+ for i in self.childs:
131
+ i.output_xml(f, d)
132
+
133
+ if self.name != '':
134
+ s = '</' + self.name + '>\n'
135
+ if len(self.childs) > 0 :
136
+ s = ''.ljust(4*depth) + s
137
+ f.write(s)
138
+
139
+ def Dump(self, levels=-1, depth=0):
140
+ #Dumps the tree contents
141
+
142
+ if levels == 0: return
143
+
144
+ s = ''.ljust(4*depth)
145
+ print(s, self, self.content)
146
+ for i in self.childs:
147
+ i.Dump(levels-1, depth+1)
148
+
149
+ def parents(self):
150
+ #Returns list of the parents
151
+ l = []
152
+ p = self.parent
153
+ while p:
154
+ l.append(p)
155
+ l.append(p.name)
156
+ p = p.parent
157
+ return l
158
+
159
+ def getChild(self, name, content=None):
160
+ # return child node with a given name
161
+ # if content == None, don't compare contents
162
+ for i in self.childs:
163
+ if (i.name == name):
164
+ if (content is None) | (i.content == content):
165
+ return i
166
+ return None
167
+
168
+ def getNode(self, name, content='', depth=-1):
169
+ # recursive search of a node with a given name
170
+ # content == None, don't compare content
171
+ if (self.name == name):
172
+ if (content is None) | (self.content == content):
173
+ return self
174
+
175
+ if (depth != 0):
176
+ for i in self.childs:
177
+ n = i.getNode(name, content, depth-1)
178
+ if n: return n
179
+
180
+ return None
181
+
182
+ def __repr__(self):
183
+ s = '<'
184
+ if self.name != '':
185
+ s += self.name
186
+ else:
187
+ s += 'None'
188
+ s += '>'
189
+ return s
190
+
191
+ def merge(self, t):
192
+ pass
193
+
194
+ def mergeChilds(self, t, list):
195
+ L_ext = t.getChild(list)
196
+ L_int = self.getChild(list)
197
+
198
+ L_merge = Tree(list)
199
+
200
+ for i_ext in L_ext.childs:
201
+ k_ext = i_ext.key
202
+ if k_ext is None: continue
203
+ present = 0
204
+
205
+ for i_int in L_int.childs:
206
+ k_int = i_int.key
207
+ if k_int is None: continue
208
+
209
+ if (k_int == k_ext):
210
+ present = 1
211
+ break;
212
+
213
+ if present :
214
+ i_int.merge(i_ext)
215
+ L_merge.addChild(i_int)
216
+ else:
217
+ L_merge.addChild(i_ext)
218
+
219
+ self.replaceChild(L_merge)
220
+
221
+ def setAttrib(self, name,value):
222
+ self.attrs[name]=value
223
+
224
+
225
+ #--------------------------------------------------
226
+ # implements parameter tree
227
+ #--------------------------------------------------
228
+ class parameter(Tree):
229
+
230
+ def __init__(self, name=None, mode = 'in', type='', comment='unknown'):
231
+ Tree.__init__(self, mode + 'Parameter', key=name)
232
+ self.mode = mode
233
+ if name is None: return
234
+
235
+ self.addNamedChild(mode + 'Parameter-name', name)
236
+ self.addNamedChild(mode + 'Parameter-type', type)
237
+ self.addNamedChild(mode + 'Parameter-comment', comment)
238
+
239
+ def merge(self, P):
240
+
241
+ self.mode = P.mode
242
+ self.replaceChild(P.getChild(P.mode + 'Parameter-name'))
243
+ self.replaceChild(P.getChild(P.mode + 'Parameter-type'))
244
+ C = P.getChild(P.mode + 'Parameter-comment')
245
+ if C.content != 'unkonwn':
246
+ self.replaceChild(C)
247
+
248
+ #--------------------------------------------------
249
+ # implements dataStreamParameter tree
250
+ #--------------------------------------------------
251
+ class dataStreamParameter(parameter):
252
+
253
+ def __init__(self, name=None, mode='in', type='', dependency='', comment='unknown'):
254
+ parameter.__init__(self, name, mode, type, comment)
255
+ if name is None: return
256
+
257
+ self.addNamedChild(mode + 'Parameter-dependency', dependency)
258
+ self.mode = mode
259
+
260
+ def merge(self, P):
261
+
262
+ parameter.merge(self, P)
263
+ self.replaceChild(P.getChild(mode + 'Parameter-dependency'))
264
+
265
+
266
+ def parseComment(comment):
267
+
268
+ spaces = '[\t\n ]*'
269
+ word = spaces + '([a-zA-Z][a-zA-Z0-9_]*)' + spaces
270
+
271
+ result = []
272
+ type = None
273
+ key = None
274
+
275
+ ## match : // followed by a 'DataStreamPorts' string,
276
+ ## the service name, and a list of ports
277
+ pattern = '// *DataStreamPorts{,1}' + word
278
+ m = re.match(pattern, comment)
279
+
280
+ ## if there is a match, parse remaining part of comment
281
+ if m:
282
+ ## service
283
+ type = 'DataStreamPorts'
284
+ key = m.group(1)
285
+
286
+ sPorts = comment[m.end():]
287
+ pattern = word + '\('+word+','+word +','+word+'\)' \
288
+ + spaces + ',{,1}' + spaces
289
+ while len(sPorts) > 0:
290
+ ## process next DataStreamPort
291
+ ## match a definition like xx(a,b,c) with a possible trailing ,
292
+ ## returns a tuple (xx, a, b, c) and
293
+ ## the remaining part of input string
294
+ m = re.match(pattern, sPorts)
295
+ if m is None:
296
+ raise LookupError('format error in DataStreamPort definition : '+sPorts)
297
+ sPorts = sPorts[m.end():]
298
+ result.append(m.groups())
299
+
300
+ return type, key, result;
301
+
302
+ #--------------------------------------------------
303
+ # implements service tree
304
+ #--------------------------------------------------
305
+ class Service(Tree):
306
+
307
+ def __init__(self, name=None, comment = 'unknown'):
308
+
309
+ Tree.__init__(self, 'component-service', key=name)
310
+ if name is None: return
311
+
312
+ self.addNamedChild('service-name', name)
313
+ self.addNamedChild('service-author',common_data["AUTHOR"])
314
+ self.addNamedChild('service-version',common_data["VERSION"])
315
+ self.addNamedChild('service-comment', comment)
316
+ self.addNamedChild('service-by-default', "0")
317
+ self.addNamedChild('inParameter-list')
318
+ self.addNamedChild('outParameter-list')
319
+ self.addNamedChild('DataStream-list')
320
+
321
+ def createInParameter(self, name, type):
322
+ L = self.getChild('inParameter-list')
323
+ p = parameter(name, 'in', type)
324
+ L.replaceChild(p)
325
+ return p
326
+
327
+ def createOutParameter(self, name, type):
328
+ L = self.getChild('outParameter-list')
329
+ p = parameter(name, 'out', type)
330
+ L.replaceChild(p)
331
+ return p
332
+
333
+ def createDataStreamParameter(self, p):
334
+ L = self.getChild('DataStream-list')
335
+ p = dataStreamParameter(p[0], p[2], p[1], p[3])
336
+ L.replaceChild(p)
337
+ return p
338
+
339
+ def merge(self, S):
340
+
341
+ self.replaceChild(S.getChild('service-author'))
342
+ self.replaceChild(S.getChild('service-version'))
343
+ self.replaceChild(S.getChild('service-by-default'))
344
+ C = S.getChild('service-comment')
345
+ if C.content != 'unkonwn':
346
+ self.replaceChild(C)
347
+
348
+ for L in ['inParameter-list', 'outParameter-list', 'DataStream-list']:
349
+ self.mergeChilds(S, L)
350
+
351
+
352
+ #--------------------------------------------------
353
+ # implements interface tree
354
+ #--------------------------------------------------
355
+ class Interface(Tree):
356
+
357
+ def __init__(self, name=None, comment='unknown'):
358
+
359
+ Tree.__init__(self, key=name)
360
+
361
+ if name is None: return
362
+
363
+ self.addNamedChild('component-interface-name', name)
364
+ self.addNamedChild('component-interface-comment', comment);
365
+ self.addNamedChild('component-service-list')
366
+
367
+ def createService(self, name):
368
+ L = self.getChild('component-service-list')
369
+
370
+ if L is None:
371
+ error ("Interface.createService() : 'component-service-list' is not found")
372
+ return None
373
+
374
+ s = Service(name)
375
+ L.addChild(s)
376
+ return s
377
+
378
+ def findService(self, key):
379
+ L = self.getChild('component-service-list')
380
+ for S in L.childs:
381
+ if S.key == key:
382
+ return S
383
+ return None
384
+
385
+ def merge(self, I):
386
+
387
+ C = S.getChild('component-interface-comment')
388
+ if C.content != 'unkonwn':
389
+ self.replaceChild(C)
390
+
391
+ self.mergeChilds(I, 'component-service-list')
392
+
393
+ def processDataStreams(self):
394
+ for sComment in self.comments:
395
+
396
+ type, key, result = parseComment(sComment)
397
+
398
+ if type == 'DataStreamPorts':
399
+ Service = self.findService(key)
400
+ if Service is None:
401
+ raise LookupError('service ' + key + \
402
+ ' not found in interface : ' + self.key)
403
+ for p in result:
404
+ ## process next DataStreamPort
405
+ Service.createDataStreamParameter(p)
406
+
407
+
408
+ #--------------------------------------------------
409
+ # implements Component tree
410
+ #--------------------------------------------------
411
+ class Component(Tree):
412
+ def __init__(self, name=None):
413
+ Tree.__init__(self, 'component', key=name)
414
+ if name is None: return
415
+
416
+ # ASV : fix for bug PAL8922 (Component name indicated by user in GUI is not taken into account
417
+ if common_data["COMP_NAME"] != '':
418
+ self.addNamedChild('component-name', common_data["COMP_NAME"])
419
+ else:
420
+ self.addNamedChild('component-name', name)
421
+
422
+ # ASV : if user name is NOT set, then use component-name instead. Else - default.
423
+ if common_data["COMP_UNAME"] != '':
424
+ self.addNamedChild('component-username', common_data["COMP_UNAME"])
425
+ else:
426
+ if common_data["COMP_NAME"] != '':
427
+ self.addNamedChild('component-username', common_data["COMP_NAME"] )
428
+ else:
429
+ self.addNamedChild('component-username', name)
430
+
431
+ self.addNamedChild('component-type', common_data["COMP_TYPE"])
432
+ self.addNamedChild('component-author', common_data["AUTHOR"])
433
+ self.addNamedChild('component-version', common_data["VERSION"])
434
+ self.addNamedChild('component-comment', 'unknown')
435
+ self.addNamedChild('component-impltype', common_data["COMP_IMPL"])
436
+ self.addNamedChild('component-icone', common_data["ICON"])
437
+ self.addNamedChild('constraint')
438
+ self.addNamedChild('component-interface-list')
439
+
440
+ def createInterface(self, name):
441
+ L = self.getChild('component-interface-list')
442
+ if L is None:
443
+ error("createInterface: No component-interface-list is found")
444
+ return None
445
+ i = Interface(name)
446
+ L.addChild(i)
447
+ return i
448
+
449
+ def merge(self, C):
450
+
451
+ for i in ['component-username', 'component-author',
452
+ 'component-type', 'component-icone', 'component-version',
453
+ 'component-impltype', 'constraint']:
454
+ ext = C.getChild(i)
455
+ int = self.getChild(i)
456
+ if int is None:
457
+ int = ext
458
+ elif ext is not None and len(ext.content):
459
+ int.content = ext.content
460
+
461
+ Cc = C.getChild('component-comment')
462
+ if Cc.content != 'unkonwn':
463
+ self.replaceChild(Cc)
464
+
465
+ self.mergeChilds(C, 'component-interface-list')
466
+
467
+ #--------------------------------------------------
468
+ # implements document tree
469
+ #--------------------------------------------------
470
+ class Catalog(ContentHandler, Tree):
471
+ def __init__(self, filename = None):
472
+ Tree.__init__(self)
473
+ self.buffer = ''
474
+ self.list = []
475
+ if (filename):
476
+ parser = xml.sax.make_parser()
477
+ parser.setContentHandler(self)
478
+ parser.parse(filename)
479
+ else:
480
+ t = self.addNamedChild('begin-catalog')
481
+ t.addNamedChild('type-list')
482
+ t.addNamedChild('component-list')
483
+
484
+ n = self.getChild('begin-catalog')
485
+ if n is None:
486
+ error("Catalog.__init__ : No 'begin-catalog' is found!")
487
+ return
488
+ if n.getChild('path-prefix-list') is None:
489
+ n.insertFirstNamedChild('path-prefix-list')
490
+ if n.getChild('type-list') is None:
491
+ p=n.childs.index(n.getChild('path-prefix-list'))
492
+ n.childs.insert(p+1,Tree('type-list'))
493
+ if n.getChild('component-list') is None:
494
+ n.addNamedChild('component-list')
495
+
496
+ def removeComponent(self, name):
497
+ complist = self.getNode('component-list')
498
+ idx = 0
499
+ if complist is None:
500
+ print("Catalog.removeComponent() : 'component-list' is not found")
501
+ return
502
+ for comp in complist.childs:
503
+ cname = comp.getChild('component-name')
504
+ if cname is not None:
505
+ if cname.content == name:
506
+ complist.childs.pop(idx)
507
+ print("Component " + name + " is removed")
508
+ idx += 1
509
+
510
+ def startDocument(self):
511
+ self.list.append(self)
512
+
513
+ def startElement(self, name, attrs):
514
+ p = self.list[len(self.list)-1]
515
+ if name == 'component':
516
+ e = p.addChild(Component())
517
+ elif name == 'component-interface-name':
518
+ e = p.addNamedChild(name)
519
+ elif name == 'component-service':
520
+ e = p.addChild(Service())
521
+ elif name == 'inParameter':
522
+ e = p.addChild(parameter(mode='in'))
523
+ elif name == 'outParameter':
524
+ e = p.addChild(parameter(mode='out'))
525
+ elif name == 'sequence':
526
+ e = p.addChild(SeqType(attrs["name"],attrs["content"]))
527
+ elif name == 'objref':
528
+ e = p.addChild(ObjType(attrs["name"]))
529
+ elif name == 'struct':
530
+ e = p.addChild(StructType(attrs["name"]))
531
+ elif name == 'type':
532
+ e = p.addChild(Type(attrs["name"],attrs["kind"]))
533
+ elif name == 'member':
534
+ e = p.addChild(Member(attrs["name"],attrs["type"]))
535
+ else:
536
+ e = p.addNamedChild(name)
537
+ self.list.append(e)
538
+ self.buffer = ''
539
+
540
+ def endElement(self, name):
541
+ self.buffer = ' '.join(self.buffer.split())
542
+ p = self.list[len(self.list)-1]
543
+ p.content = self.buffer
544
+ if name == 'component':
545
+ p.key = p.getChild('component-name').content
546
+ self.buffer = ''
547
+ e = self.list.pop()
548
+
549
+ def characters(self, ch):
550
+ self.buffer += ch
551
+
552
+ def mergeComponent(self, comp):
553
+
554
+ L_int = self.getNode('component-list')
555
+ if L_int is None:
556
+ error("Catalog.mergeComponent : 'component-list' is not found")
557
+ return
558
+
559
+ i_ext = comp
560
+ present = 0
561
+ n_ext = i_ext.key
562
+ for i_int in L_int.childs:
563
+ if (i_int.key == n_ext):
564
+ present = 1
565
+ break;
566
+
567
+ if present == 0:
568
+ print(' add component', i_ext.getChild('component-name').content)
569
+ L_int.addChild(i_ext)
570
+ else:
571
+ print(' replace component', i_ext.getChild('component-name').content)
572
+ i_int.merge(i_ext)
573
+
574
+ def mergeType(self, type):
575
+ L_int = self.getNode('type-list')
576
+ if L_int is None:
577
+ error("Catalog.mergeType : 'type-list' is not found")
578
+ return
579
+ for t in L_int.childs:
580
+ if t.attrs["name"] == type.attrs["name"]:
581
+ t.merge(type)
582
+ return
583
+
584
+ L_int.addChild(type)
585
+
586
+ class Member(Tree):
587
+ def __init__(self, name,type):
588
+ Tree.__init__(self, 'member')
589
+ self.setAttrib("name",name)
590
+ self.setAttrib("type",type)
591
+
592
+ class Type(Tree):
593
+ def __init__(self, name,kind):
594
+ Tree.__init__(self, 'type')
595
+ self.setAttrib("name",name)
596
+ self.setAttrib("kind",kind)
597
+
598
+ def merge(self,t):
599
+ self.setAttrib("kind",t.attrs["kind"])
600
+
601
+ class SeqType(Tree):
602
+ def __init__(self, name,content):
603
+ Tree.__init__(self, 'sequence')
604
+ self.setAttrib("name",name)
605
+ self.setAttrib("content",content)
606
+
607
+ def merge(self,t):
608
+ self.setAttrib("content",t.attrs["content"])
609
+
610
+ class StructType(Tree):
611
+ def __init__(self, name):
612
+ Tree.__init__(self, 'struct')
613
+ self.setAttrib("name",name)
614
+
615
+ def merge(self,t):
616
+ #remove childs and replace by t childs
617
+ self.childs=[]
618
+ for c in t.childs:
619
+ self.childs.append(c)
620
+
621
+ class ObjType(Tree):
622
+ def __init__(self, name):
623
+ Tree.__init__(self, 'objref')
624
+ self.setAttrib("name",name)
625
+
626
+ def merge(self,t):
627
+ RepoId=t.attrs.get("id")
628
+ if RepoId:
629
+ self.setAttrib("id",RepoId)
630
+ #remove childs and replace by t childs
631
+ self.childs=[]
632
+ for c in t.childs:
633
+ self.childs.append(c)
634
+
635
+ # IDL file reader
636
+
637
+ ttsMap = {
638
+ idltype.tk_void: "void",
639
+ idltype.tk_short: "short",
640
+ idltype.tk_long: "long",
641
+ idltype.tk_ushort: "unsigned short",
642
+ idltype.tk_ulong: "unsigned long",
643
+ idltype.tk_float: "float",
644
+ idltype.tk_double: "double",
645
+ idltype.tk_boolean: "boolean",
646
+ idltype.tk_char: "char",
647
+ idltype.tk_octet: "octet",
648
+ idltype.tk_any: "any",
649
+ idltype.tk_TypeCode: "CORBA::TypeCode",
650
+ idltype.tk_Principal: "CORBA::Principal",
651
+ idltype.tk_longlong: "long long",
652
+ idltype.tk_ulonglong: "unsigned long long",
653
+ idltype.tk_longdouble: "long double",
654
+ idltype.tk_wchar: "wchar"
655
+ }
656
+
657
+
658
+ #--------------------------------------------------
659
+ # class ModuleCatalogVisitor
660
+ #--------------------------------------------------
661
+ class ModuleCatalogVisitor (idlvisitor.AstVisitor):
662
+
663
+ def __init__(self, catalog):
664
+ self.catalog = catalog
665
+ self.EngineType = 0
666
+ self.currentScope=None
667
+
668
+ def visitAST(self, node):
669
+ for n in node.declarations():
670
+ if n.mainFile():
671
+ n.accept(self)
672
+
673
+ def visitModule(self, node):
674
+ self.currentScope=node
675
+ for n in node.definitions():
676
+ n.accept(self)
677
+
678
+ def visitInterface(self, node):
679
+ if node.mainFile():
680
+
681
+ self.EngineType = 0
682
+
683
+ for i in node.inherits():
684
+ s = i.scopedName();
685
+ if s[0] == "Engines":
686
+ if s[1] == "EngineComponent":
687
+ self.EngineType = 1; break
688
+ if s[1] == "Superv_Component":
689
+ self.EngineType = 2; break
690
+
691
+ if self.EngineType:
692
+ #This interface is a SALOME component
693
+ Comp = Component(node.identifier())
694
+
695
+ self.currentInterface = Comp.createInterface(node.identifier())
696
+
697
+ for c in node.callables():
698
+ if isinstance(c, idlast.Operation):
699
+ c.accept(self)
700
+
701
+ for c in node.declarations():
702
+ if isinstance(c, idlast.Struct):
703
+ c.accept(self)
704
+
705
+ for i in node.comments():
706
+ self.currentInterface.comments.append(str(i))
707
+
708
+ if self.EngineType == 2:
709
+ self.currentInterface.processDataStreams()
710
+
711
+ global nb_components
712
+ nb_components = nb_components + 1
713
+ self.catalog.mergeComponent(Comp)
714
+
715
+ else:
716
+ #This interface is not a component : use it as a DataType
717
+ t=ObjType("/".join(node.scopedName()))
718
+ for i in node.inherits():
719
+ t.addNamedChild("base","/".join(i.scopedName()))
720
+ self.catalog.mergeType(t)
721
+
722
+ self.EngineType = 0
723
+
724
+
725
+ def visitOperation(self, node):
726
+
727
+ self.currentService = self.currentInterface.createService \
728
+ (node.identifier())
729
+
730
+ node.returnType().accept(self)
731
+ if (self.currentType != "void"):
732
+ self.currentService.createOutParameter \
733
+ ("return", self.currentType)
734
+
735
+ for c in node.parameters():
736
+ c.accept(self)
737
+
738
+ for i in node.comments():
739
+ self.currentInterface.comments.append(str(i))
740
+
741
+
742
+ def visitDeclaredType(self, type):
743
+ name=type.name()
744
+ scoped_name="/".join(type.scopedName())
745
+ self.currentType = scoped_name
746
+
747
+ def visitBaseType(self, type):
748
+ self.currentType = ttsMap[type.kind()]
749
+
750
+ def visitStringType(self, type):
751
+ self.currentType = "string"
752
+
753
+ def visitWStringType(self, type):
754
+ self.currentType = "wstring"
755
+
756
+ def visitParameter(self, node):
757
+ node.paramType().accept(self)
758
+ if node.is_in():
759
+ self.currentService.createInParameter \
760
+ (node.identifier(), self.currentType)
761
+ if node.is_out():
762
+ self.currentService.createOutParameter \
763
+ (node.identifier(), self.currentType)
764
+
765
+ def visitSequenceType(self,type):
766
+ type.seqType().accept(self)
767
+ if type.bound() == 0:
768
+ self.contentType=self.currentType
769
+ self.currentType = "sequence"
770
+ else:
771
+ self.currentType = None
772
+
773
+ def visitTypedef(self, node):
774
+ if node.constrType():
775
+ node.aliasType().decl().accept(self)
776
+
777
+ node.aliasType().accept(self)
778
+ type = self.currentType
779
+ if not type:
780
+ return
781
+ decll = []
782
+ for d in node.declarators():
783
+ d.accept(self)
784
+ if self.__result_declarator:
785
+ decll.append(self.__result_declarator)
786
+ if type == "sequence":
787
+ #it's a sequence type
788
+ for name in decll:
789
+ scoped_name="/".join(self.currentScope.scopedName()+[name])
790
+ self.catalog.mergeType(SeqType(scoped_name,self.contentType))
791
+ #else:
792
+ #it's an alias
793
+ # for name in decll:
794
+ # scoped_name="/".join(self.currentScope.scopedName()+[name])
795
+ # self.catalog.mergeType(Type(scoped_name,type))
796
+
797
+ def visitStruct(self, node):
798
+ t=StructType("/".join(node.scopedName()))
799
+ for m in node.members():
800
+ if m.constrType():
801
+ m.memberType().decl().accept(self)
802
+
803
+ m.memberType().accept(self)
804
+ type = self.currentType
805
+ for d in m.declarators():
806
+ d.accept(self)
807
+ t.addChild(Member(self.__result_declarator,type))
808
+
809
+ self.catalog.mergeType(t)
810
+
811
+ def visitDeclarator(self, node):
812
+ if node.sizes():
813
+ self.__result_declarator =None
814
+ else:
815
+ self.__result_declarator =node.identifier()
816
+
817
+ #--------------------------------------------------
818
+ # parse idl and store xml file
819
+ #--------------------------------------------------
820
+ def run(tree, args):
821
+
822
+ CatalogFileName=getParamValue("catalog", "CatalogModulePersonnel.xml", args)
823
+ if re.compile(".*?.xml$").match(CatalogFileName, 1) is None:
824
+ CatalogFileName = CatalogFileName + '.xml'
825
+
826
+ #========= Read parameters ======================
827
+ common_data["ICON"] = getParamValue("icon", "", args)
828
+ common_data["AUTHOR"] = getParamValue("author", getUserName(), args)
829
+ common_data["VERSION"] = getParamValue("version", "1", args)
830
+ common_data["COMP_NAME"] = getParamValue("name", "", args)
831
+ common_data["COMP_UNAME"] = getParamValue("username", "", args)
832
+ common_data["COMP_TYPE"] = getParamValue("type", "OTHER", args)
833
+ common_data["COMP_IMPL"] = getParamValue("impltype", "1", args)
834
+
835
+ print(common_data)
836
+
837
+ remove_comp = getParamValue("remove", "", args)
838
+
839
+ #==================================================
840
+
841
+ if (osp.exists(CatalogFileName)):
842
+ print("Importing", CatalogFileName)
843
+ C = Catalog(CatalogFileName)
844
+ else:
845
+ print("Creating ",CatalogFileName)
846
+ C = Catalog()
847
+
848
+ print("Reading idl file")
849
+
850
+ visitor = ModuleCatalogVisitor(C)
851
+ tree.accept(visitor)
852
+
853
+ ## C.Dump()
854
+
855
+ if remove_comp :
856
+ C.removeComponent(remove_comp)
857
+
858
+ if (osp.exists(CatalogFileName)):
859
+ print("Updating", CatalogFileName)
860
+ CatalogFileName_old = CatalogFileName + '_old'
861
+ os.rename(CatalogFileName, CatalogFileName_old)
862
+ else:
863
+ CatalogFileName_old = ""
864
+ print("Writing", CatalogFileName)
865
+
866
+ CatalogFileName_new = CatalogFileName + '_new'
867
+ f=open(CatalogFileName_new, 'w')
868
+ f.write("<?xml version='1.0' encoding='us-ascii' ?>\n\n")
869
+ C.output_xml(f)
870
+ f.close()
871
+
872
+ os.rename(CatalogFileName_new, CatalogFileName)
873
+ if ((CatalogFileName_old != "") & osp.exists(CatalogFileName_old)):
874
+ os.unlink(CatalogFileName_old)
875
+
876
+ print()
877
+
878
+
879
+ if __name__ == "__main__":
880
+ print()
881
+ print("Usage : omniidl -bIDLparser [-I<catalog files directory>]* -Wbcatalog=<my_catalog.xml>[,icon=<pngfile>][,version=<num>][,author=<name>][,name=<component_name>][,username=<component_username>][,impltype=<implementation type : 0 (python), 1 (C++)>] <file.idl>")
882
+ print()