salome.kernel 9.14.0__cp37-cp37m-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.

Potentially problematic release.


This version of salome.kernel might be problematic. Click here for more details.

Files changed (400) 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 +39 -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 +646 -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/version_and_config.py +24 -0
  301. salome/share/salome/resources/kernel/Anita semi square.ttf +0 -0
  302. salome/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
  303. salome/share/salome/resources/kernel/CatalogResources.xml +4 -0
  304. salome/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
  305. salome/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
  306. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
  307. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
  308. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
  309. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
  310. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
  311. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
  312. salome/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
  313. salome/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
  314. salome/share/salome/resources/kernel/app-template/LICENCE +504 -0
  315. salome/share/salome/resources/kernel/app-template/README +0 -0
  316. salome/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
  317. salome/share/salome/resources/kernel/app-template/doc/README +1 -0
  318. salome/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
  319. salome/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
  320. salome/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
  321. salome/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
  322. salome/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
  323. salome/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
  324. salome/share/salome/resources/kernel/app-template/resources/about.png +0 -0
  325. salome/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
  326. salome/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
  327. salome/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
  328. salome/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
  329. salome/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
  330. salome/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
  331. salome/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
  332. salome/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
  333. salome/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
  334. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
  335. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
  336. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
  337. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
  338. salome/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
  339. salome/share/salome/resources/kernel/app-template/src/tests/README +1 -0
  340. salome/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
  341. salome/share/salome/resources/kernel/background.png +0 -0
  342. salome/share/salome/resources/kernel/channel.cfg +278 -0
  343. salome/share/salome/resources/kernel/testLauncher.xml +10 -0
  344. salome.kernel-9.14.0.dist-info/METADATA +24 -0
  345. salome.kernel-9.14.0.dist-info/RECORD +399 -0
  346. salome.kernel-9.14.0.dist-info/WHEEL +6 -0
  347. salome.kernel-9.14.0.dist-info/entry_points.txt +2 -0
  348. salome.kernel.libs/libArgvKeeper-822351d5.so +0 -0
  349. salome.kernel.libs/libCOS4-b4544fb9.so.2.5 +0 -0
  350. salome.kernel.libs/libCOSDynamic4-618dbb1d.so.2.5 +0 -0
  351. salome.kernel.libs/libCalciumC-a61b99a1.so +0 -0
  352. salome.kernel.libs/libDF-281cc999.so +0 -0
  353. salome.kernel.libs/libLauncher-09c39914.so +0 -0
  354. salome.kernel.libs/libLauncherWrapHelper-5ee25ab2.so +0 -0
  355. salome.kernel.libs/libOpUtil-8d37ccc8.so +0 -0
  356. salome.kernel.libs/libRegistry-e4a63a9e.so +0 -0
  357. salome.kernel.libs/libResourcesManager-f4ef9548.so +0 -0
  358. salome.kernel.libs/libSALOMEBasics-f4d874ac.so +0 -0
  359. salome.kernel.libs/libSALOMELocalTrace-a3992e5b.so +0 -0
  360. salome.kernel.libs/libSALOMELog-55805468.so +0 -0
  361. salome.kernel.libs/libSalomeCalcium-6800d8d0.so +0 -0
  362. salome.kernel.libs/libSalomeCatalog-96c5b2bc.so +0 -0
  363. salome.kernel.libs/libSalomeCommunication-451307b4.so +0 -0
  364. salome.kernel.libs/libSalomeContainer-d1a25367.so +0 -0
  365. salome.kernel.libs/libSalomeContainerServer-372d46c2.so +0 -0
  366. salome.kernel.libs/libSalomeDS-34cd5abf.so +0 -0
  367. salome.kernel.libs/libSalomeDSCContainer-ee0cf498.so +0 -0
  368. salome.kernel.libs/libSalomeDSCSuperv-f529bca5.so +0 -0
  369. salome.kernel.libs/libSalomeDSCSupervBasic-e6a3b4cf.so +0 -0
  370. salome.kernel.libs/libSalomeDSClient-dc9947bb.so +0 -0
  371. salome.kernel.libs/libSalomeDSImpl-cb508584.so +0 -0
  372. salome.kernel.libs/libSalomeDatastream-755ff3cb.so +0 -0
  373. salome.kernel.libs/libSalomeGenericObj-3ccf0028.so +0 -0
  374. salome.kernel.libs/libSalomeHDFPersist-69945ed0.so +0 -0
  375. salome.kernel.libs/libSalomeIDLKernel-2eb1ed8e.so +0 -0
  376. salome.kernel.libs/libSalomeKernelHelpers-1514c9e0.so +0 -0
  377. salome.kernel.libs/libSalomeLauncher-6d57b2ba.so +0 -0
  378. salome.kernel.libs/libSalomeLifeCycleCORBA-69902a7b.so +0 -0
  379. salome.kernel.libs/libSalomeLoggerServer-3668e9ae.so +0 -0
  380. salome.kernel.libs/libSalomeNS-a03a7eba.so +0 -0
  381. salome.kernel.libs/libSalomeNotification-66efcfbd.so +0 -0
  382. salome.kernel.libs/libSalomeORB-f304f4df.so +0 -0
  383. salome.kernel.libs/libSalomePalm-4204405e.so +0 -0
  384. salome.kernel.libs/libSalomeResourcesManager-fd411949.so +0 -0
  385. salome.kernel.libs/libSalomeSDS-7822101d.so +0 -0
  386. salome.kernel.libs/libSalomeTestComponentEngine-9899af25.so +0 -0
  387. salome.kernel.libs/libTOOLSDS-db8e8629.so +0 -0
  388. salome.kernel.libs/libbatch-6b5b319f.so +0 -0
  389. salome.kernel.libs/libboost_atomic-489c2d94.so.1.81.0 +0 -0
  390. salome.kernel.libs/libboost_filesystem-e610b554.so.1.81.0 +0 -0
  391. salome.kernel.libs/libboost_system-4a7650ea.so.1.81.0 +0 -0
  392. salome.kernel.libs/libcppunit-1-17e77af1.12.so.1.0.0 +0 -0
  393. salome.kernel.libs/libhdf5-60e81d69.so.103.0.0 +0 -0
  394. salome.kernel.libs/liblzma-004595ca.so.5.2.2 +0 -0
  395. salome.kernel.libs/libomniDynamic4-9edc765d.so.2.5 +0 -0
  396. salome.kernel.libs/libomniORB4-4725824d.so.2.5 +0 -0
  397. salome.kernel.libs/libomnithread-99f9d0d3.so.4.1 +0 -0
  398. salome.kernel.libs/libwith_loggerTraceCollector-6b94c51b.so +0 -0
  399. salome.kernel.libs/libwith_loggerTraceCollector.so +0 -0
  400. salome.kernel.libs/libxml2-3998bec4.so.2.9.1 +0 -0
@@ -0,0 +1,646 @@
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
+ # File : salome.py renamed as __init__.py for python packaging (gboulant)
25
+ # Author : Paul RASCLE, EDF
26
+ # Module : SALOME
27
+ #
28
+ """
29
+ Module salome gives access to Salome resources.
30
+
31
+ variables:
32
+
33
+ - salome.orb : CORBA
34
+ - salome.naming_service : instance of naming Service class
35
+ - methods:
36
+ - Resolve(name) : find a CORBA object (ior) by its pathname
37
+ - Register(name) : register a CORBA object under a pathname
38
+
39
+ - salome.lcc : instance of lifeCycleCORBA class
40
+ - methods:
41
+ - FindOrLoadComponent(server,name) :
42
+ obtain an Engine (CORBA object)
43
+ or launch the Engine if not found,
44
+ with a Server name and an Engine name
45
+
46
+ - salome.sg : salome object to communicate with the graphical user interface (if any)
47
+ - methods:
48
+ - updateObjBrowser():
49
+
50
+ - SelectedCount(): returns number of selected objects
51
+ - getSelected(i): returns entry of selected object number i
52
+ - getAllSelected(): returns list of entry of selected objects
53
+ - AddIObject(Entry): select an existing Interactive object
54
+ - RemoveIObject(Entry): remove object from selection
55
+ - ClearIObjects(): clear selection
56
+
57
+ - Display(*Entry):
58
+ - DisplayOnly(Entry):
59
+ - Erase(Entry):
60
+ - DisplayAll():
61
+ - EraseAll():
62
+
63
+ - IDToObject(Entry): returns CORBA reference from entry
64
+
65
+ - salome.myStudyName : active Study Name
66
+ - salome.myStudy : the active Study itself (CORBA ior)
67
+ - methods : defined in SALOMEDS.idl
68
+
69
+ """
70
+ ## @package salome
71
+ # Module salome gives access to Salome resources.
72
+ #
73
+ # \param salome.orb : CORBA orb object
74
+ # \param salome.naming_service : instance of naming Service class (SALOME_NamingServicePy::SALOME_NamingServicePy_i)
75
+ # \param salome.lcc : instance of lifeCycleCORBA class (SALOME_LifeCycleCORBA)
76
+ # \param salome.sg : Salome object to communicate with the graphical user interface, if running (see interface in salome_iapp::SalomeOutsideGUI)
77
+ # \param salome.myStudyName : active Study Name
78
+ # \param salome.myStudy : the active Study (interface SALOMEDS::Study)
79
+
80
+ #
81
+ # ==========================================================================
82
+ #
83
+ # The function extend_path is used here to aggregate in a single
84
+ # virtual python package all the python sub-packages embedded in each
85
+ # SALOME modules (python "namespace" pattern).
86
+ #
87
+ ROOT_PYTHONPACKAGE_NAME="salome"
88
+ #
89
+ # This root package name is expected to be found as a directory in
90
+ # some paths of the sys.path variable, especially the paths
91
+ # <MODULE_ROOT_DIR>/lib/pythonX.Y/site-packages/salome where are
92
+ # installed the python files. These paths are theorically appended by
93
+ # the SALOME main runner and should be in the sys.path at this point
94
+ # of the application. The extend_path is looking then for directories
95
+ # of the type:
96
+ #
97
+ # <MODULE_ROOT_DIR>/lib/pythonX.Y/site-packages/salome/<ROOT_PYTHONPACKAGE_NAME>
98
+ #
99
+ # And append them to the sys.path. These directories are supposed to
100
+ # be the pieces to be aggregated as a single virtual python package.
101
+ #
102
+ import os, sys
103
+ from salome.kernel.salome_utils import verbose
104
+ from salome.kernel import version_and_config
105
+ from pathlib import Path
106
+
107
+ __version__ = version_and_config.version
108
+
109
+ __config_datetime__ = version_and_config.config_datetime
110
+
111
+ del version_and_config
112
+
113
+ MATCH_ENDING_PATTERN="site-packages" + os.path.sep + "salome"
114
+
115
+ def extend_path(pname):
116
+ for dir in sys.path:
117
+ if not isinstance(dir, str) or not os.path.isdir(dir) or not dir.endswith(MATCH_ENDING_PATTERN):
118
+ continue
119
+ subdir = os.path.join(dir, pname)
120
+ # XXX This may still add duplicate entries to path on
121
+ # case-insensitive filesystems
122
+ if os.path.isdir(subdir) and subdir not in __path__:
123
+ if verbose(): print("INFO - The directory %s is appended to sys.path" % subdir)
124
+ __path__.append(subdir)
125
+
126
+ extend_path(ROOT_PYTHONPACKAGE_NAME)
127
+
128
+ # ==========================================================================
129
+ # the wheel should not require any environment variables to be set
130
+
131
+ # set KERNEL_ROOT_DIR to the root dir of the salome.kernel module, where we copied the /share directory
132
+ os.environ.setdefault("KERNEL_ROOT_DIR", str(Path(__file__).parents[1]))
133
+
134
+ # same for PATH, we copied the /bin directory to the root dir of salome.kernel
135
+ os.environ["PATH"] += ":" + str(Path(__file__).parents[1] / "bin" / "salome")
136
+
137
+ # for salomeContext module
138
+ sys.path.append(str(Path(__file__).parents[1] / "bin" / "salome"))
139
+ # ==========================================================================
140
+ #
141
+
142
+ from salome.kernel.salome_kernel_utils import *
143
+ from salome.kernel.salome_study import *
144
+ from salome.kernel.salome_iapp import *
145
+
146
+ orb, lcc, naming_service, cm, sg, esm, dsm, logm, modulcat, rm, lm = None,None,None,None,None,None,None,None,None,None,None
147
+ myStudy, myStudyName = None,None
148
+
149
+ salome_initial=True
150
+
151
+ def standalone():
152
+ pass
153
+
154
+ def withServers():
155
+ from .. import KernelBasis
156
+ KernelBasis.setSSLMode(False)
157
+
158
+ def salome_init(path=None, embedded=False, iorfakensfile=None, forced=False):
159
+ """
160
+ Initialize SALOME client process (that can also be server).
161
+ 3 modes of initialization exists:
162
+ - SSL mode (see salome_init_without_session)
163
+ - SSL mode attached in the context of python execution inside SALOME_Container_No_NS_Serv server (typically YACS)
164
+ - Classical mode (see salome_init_with_session)
165
+ :param iorfakensfile: filename inside which IOR of fake NS will be written
166
+ :param forced: tell if the multi-initialization protection mecanism of salome_init must be skiped of not
167
+ (typically in the context where a path to a study is given whereas a previous initialisation without it was done)
168
+ """
169
+ if not forced:
170
+ if lcc is not None:# multi-initialization protection mecanism is based on lcc global var
171
+ return
172
+ PATH_TO_STUDY_FILE_TO_INITIATE = "PATH_TO_STUDY_FILE_TO_INITIATE"
173
+ from .. import KernelBasis
174
+ if KernelBasis.getSSLMode():
175
+ if KernelBasis.getIOROfEmbeddedNS() == "":
176
+ import os
177
+ # make runSalome.py -t study.hdf toto.py
178
+ if path is None and PATH_TO_STUDY_FILE_TO_INITIATE in os.environ:
179
+ path = os.environ[PATH_TO_STUDY_FILE_TO_INITIATE]
180
+ salome_init_without_session(path, embedded, iorfakensfile)
181
+ else:
182
+ salome_init_without_session_attached(path, embedded)
183
+ else:
184
+ salome_init_with_session(path, embedded)
185
+
186
+ def salome_init_without_session_common(path=None, embedded=False):
187
+ from ..ORBConfigFile_impl import writeORBConfigFileSSL
188
+ OMNIORB_USER_PATH = "OMNIORB_USER_PATH"
189
+ def RemoveOmniorbConfigFile():
190
+ import os
191
+ if "OMNIORB_CONFIG" in os.environ:
192
+ fileToRemove = os.environ["OMNIORB_CONFIG"]
193
+ if os.path.exists(fileToRemove):
194
+ os.unlink(fileToRemove)
195
+
196
+ if OMNIORB_USER_PATH in os.environ:
197
+ import atexit
198
+ writeORBConfigFileSSL(os.environ[OMNIORB_USER_PATH],kwargs={"with_pid":True})
199
+ atexit.register(RemoveOmniorbConfigFile)
200
+
201
+ global lcc,naming_service,myStudy,myStudyName,orb,modulcat,sg
202
+ from .. import KernelBasis
203
+ KernelBasis.setSSLMode(True)
204
+ from .. import KernelDS
205
+ myStudy = KernelDS.myStudy()
206
+ import CORBA
207
+ orb=CORBA.ORB_init([''])
208
+ from .. import KernelModuleCatalog
209
+ from .. import SALOME_ModuleCatalog
210
+ from ..salome_kernel_utils import list_of_catalogs_regarding_environement
211
+ modulcat = KernelModuleCatalog.myModuleCatalog( list_of_catalogs_regarding_environement() )
212
+ #
213
+ poa = orb.resolve_initial_references("RootPOA")
214
+ poaManager = poa._get_the_POAManager()
215
+ poaManager.activate()
216
+ #
217
+ sg = salome_iapp_init(embedded)
218
+ salome_study_init_without_session(path)
219
+ #
220
+ from ..NamingService import NamingService
221
+ naming_service = NamingService()
222
+ myStudyName = myStudy.Name
223
+
224
+ def salome_init_without_session(path=None, embedded=False, iorfakensfile=None):
225
+ """
226
+ Force creation of all servants needed by SALOME session in the current process.
227
+ A Fake NamingService is created storing reference of all servants in the current process.
228
+ """
229
+ salome_init_without_session_common(path,embedded)
230
+ global lcc,cm,dsm,esm,rm,logm,lm
231
+ from .. import KernelLauncher
232
+ cm = KernelLauncher.myContainerManager()
233
+ type(cm).SetOverrideEnvForContainersSimple = ContainerManagerSetOverrideEnvForContainersSimple
234
+ rm = KernelLauncher.myResourcesManager()
235
+ type(rm).GetResourceDefinition2 = ResourcesManagerGetResourceDefinition
236
+ from ..LifeCycleCORBA import LifeCycleCORBASSL
237
+ lcc = LifeCycleCORBASSL()
238
+ # create a FactoryServer Container servant
239
+ from .. import KernelContainer
240
+ KernelContainer.myContainer()
241
+ lm = KernelLauncher.myLockMaster()
242
+ # activate poaManager to accept co-localized CORBA calls.
243
+ from ..KernelSDS import GetDSMInstance
244
+ import sys
245
+ if hasattr(sys, 'argv'):
246
+ argv = sys.argv
247
+ else:
248
+ argv = ['']
249
+ dsm = GetDSMInstance(argv)
250
+ # esm inherits from SALOME_CPythonHelper singleton already initialized by GetDSMInstance
251
+ # esm inherits also from SALOME_ResourcesManager creation/initialization (concerning SingleThreadPOA POA) when KernelLauncher.GetContainerManager() has been called
252
+ esm = KernelLauncher.GetExternalServer()
253
+ # idem for logm
254
+ logm = KernelLauncher.myLogManager()
255
+ type(logm).NaiveFetch = LogManagerNaiveFetch
256
+ type(logm).Fetch = LogManagerFetch
257
+ type(logm).DumpInFile = LogManagerDumpInFile
258
+ type(logm).LaunchMonitoringDumpFile = LogManagerLaunchMonitoringDumpFile
259
+ type(logm).FinalFetchBeforeDying = LogManagerFinalFetchBeforeDying
260
+ type(logm).GetLatestMonitoringDumpFile = LogManagerGetLatestMonitoringDumpFile
261
+ type(logm).DumpIORInFile = LogManagerDumpIORInFile
262
+ #
263
+ from .. import KernelLogger
264
+ naming_service.Register(KernelLogger.myLogger(),"/Logger")
265
+ #
266
+ from ..NamingService import NamingService
267
+ if iorfakensfile is not None:
268
+ with open(iorfakensfile,"w") as iorfakensf:
269
+ iorfakensf.write(NamingService.IOROfNS())
270
+
271
+ CM_NAME_IN_NS = "/ContainerManager"
272
+ RM_NAME_IN_NS = "/ResourcesManager"
273
+ DSM_NAME_IN_NS = "/DataServerManager"
274
+ ESM_NAME_IN_NS = "/ExternalServers"
275
+ LOGM_NAME_IN_NS = "/LogManager"
276
+
277
+ def salome_init_without_session_attached(path=None, embedded=False):
278
+ """
279
+ Configuration SSL inside a python interpretor launched in the SALOME_Container_No_NS_Serv.
280
+ In this configuration, a local FakeNamingService is created and remote objects are stored in it.
281
+ lcc is pointing to the FakeNamingService above.
282
+ """
283
+ salome_init_without_session_common(path,embedded)
284
+ global lcc,cm,dsm,esm,rm,logm,lm
285
+ import CORBA
286
+ orb=CORBA.ORB_init([''])
287
+ from .. import Engines
288
+ from .. import KernelBasis
289
+ from .. import KernelLauncher
290
+ nsAbroad = orb.string_to_object( KernelBasis.getIOROfEmbeddedNS() )
291
+ from .. import SALOME
292
+ cm = orb.string_to_object( nsAbroad.Resolve(CM_NAME_IN_NS).decode() )
293
+ type(cm).SetOverrideEnvForContainersSimple = ContainerManagerSetOverrideEnvForContainersSimple
294
+ naming_service.Register(cm,CM_NAME_IN_NS)
295
+ rm = orb.string_to_object( nsAbroad.Resolve(RM_NAME_IN_NS).decode() )
296
+ type(rm).GetResourceDefinition2 = ResourcesManagerGetResourceDefinition
297
+ naming_service.Register(rm,RM_NAME_IN_NS)
298
+ #
299
+ from ..LifeCycleCORBA import LifeCycleCORBASSL
300
+ lcc = LifeCycleCORBASSL()
301
+ dsm = orb.string_to_object( nsAbroad.Resolve(DSM_NAME_IN_NS).decode() )
302
+ naming_service.Register(dsm,DSM_NAME_IN_NS)
303
+ #
304
+ esm = orb.string_to_object( nsAbroad.Resolve(ESM_NAME_IN_NS).decode() )
305
+ naming_service.Register(esm,ESM_NAME_IN_NS)
306
+ #
307
+ logm = orb.string_to_object( nsAbroad.Resolve(LOGM_NAME_IN_NS).decode() )
308
+ naming_service.Register(logm,LOGM_NAME_IN_NS)
309
+ #
310
+ lm = orb.string_to_object( nsAbroad.Resolve(KernelLauncher.GetLockMasterEntryInNS()).decode() )
311
+ naming_service.Register(lm,KernelLauncher.GetLockMasterEntryInNS())
312
+
313
+ def salome_init_with_session(path=None, embedded=False):
314
+ """
315
+ Performs only once SALOME general purpose initialisation for scripts.
316
+ Provides:
317
+ orb reference to CORBA
318
+ lcc a LifeCycleCorba instance
319
+ naming_service a naming service instance
320
+ cm reference to the container manager
321
+ esm reference to external server manager
322
+ dsm reference to shared dataserver manager
323
+ modulcat reference to modulecatalog instance
324
+ sg access to SALOME GUI (when linked with IAPP GUI)
325
+ myStudy active study itself (CORBA reference)
326
+ myStudyName active study name
327
+ """
328
+ global salome_initial
329
+ global orb, lcc, naming_service, cm, esm, dsm, modulcat
330
+ global sg
331
+ global myStudy, myStudyName
332
+ from salome.kernel import KernelBasis
333
+ KernelBasis.setSSLMode(False)
334
+ try:
335
+ if salome_initial:
336
+ salome_initial=False
337
+ sg = salome_iapp_init(embedded)
338
+ orb, lcc, naming_service, cm, esm, dsm, modulcat = salome_kernel_init()
339
+ type(cm).SetOverrideEnvForContainersSimple = ContainerManagerSetOverrideEnvForContainersSimple
340
+ myStudy, myStudyName = salome_study_init(path)
341
+ pass
342
+ pass
343
+ except RuntimeError as inst:
344
+ # wait a little to avoid trace mix
345
+ import time
346
+ time.sleep(0.2)
347
+ x = inst
348
+ print("salome.salome_init_with_session():", x)
349
+ print("""
350
+ ============================================
351
+ May be there is no running SALOME session
352
+ salome.salome_init() is intended to be used
353
+ within an already running session
354
+ ============================================
355
+ """)
356
+ raise
357
+
358
+ def salome_close():
359
+ global salome_initial, myStudy, myStudyName, lcc
360
+ try:
361
+ # study can be clear either from GUI or directly with salome.myStudy.Clear()
362
+ myStudy.Clear()
363
+ except Exception:
364
+ pass
365
+ salome_initial=True
366
+ salome_iapp_close()
367
+ salome_study_close()
368
+ myStudy, myStudyName = None, None
369
+ lcc = None # to salome_init to rebuild all in case of salome_init after salome_close
370
+ from .. import KernelBasis
371
+ if KernelBasis.getSSLMode() and not KernelBasis.getGUIMode():
372
+ from .. import KernelDS
373
+ KernelDS.KillGlobalSessionInstance()
374
+ from .. import KernelSDS
375
+ KernelSDS.KillCPythonHelper()
376
+ pass
377
+
378
+ def salome_NS():
379
+ import CORBA
380
+ import CosNaming
381
+ orb = CORBA.ORB_init()
382
+ ns0 = orb.resolve_initial_references("NameService")
383
+ return ns0._narrow(CosNaming.NamingContext)
384
+
385
+ def salome_walk_on_containers(ns,root):
386
+ import CosNaming
387
+ it = ns.list(0)[1]
388
+ if not it:
389
+ return
390
+ cont = True
391
+ while cont:
392
+ cont,obj = it.next_one()
393
+ if cont:
394
+ if obj.binding_name[0].kind == "object":
395
+ from .. import Engines
396
+ corbaObj = ns.resolve(obj.binding_name)
397
+ if isinstance(corbaObj,Engines._objref_Container):
398
+ yield corbaObj,(root,obj.binding_name[0].id)
399
+ else:
400
+ father = ns.resolve([obj.binding_name[0]])
401
+ for elt,elt2 in salome_walk_on_containers(father,root+[obj.binding_name[0].id]):
402
+ yield elt,elt2
403
+ pass
404
+ pass
405
+ pass
406
+
407
+ def salome_shutdown_containers_with_session():
408
+ salome_init()
409
+ ns=salome_NS()
410
+ li = [elt for elt in salome_walk_on_containers(ns,[""])]
411
+ print("Number of containers in NS : {}".format(len(li)))
412
+ for cont,(root,cont_name) in li:
413
+ try:
414
+ cont.Shutdown()
415
+ except Exception:
416
+ pass
417
+ ref_in_ns = "/".join(root+[cont_name])
418
+ naming_service.Destroy_Name(ref_in_ns)
419
+ print("Number of containers in NS after clean : {}".format( len( list(salome_walk_on_containers(ns,[""])) )))
420
+
421
+ def retrieve_containers_in_ns():
422
+ return [elt for elt in naming_service.repr() if "/Containers/" == elt[:12]]
423
+
424
+ def get_all_containers():
425
+ containersEntries = retrieve_containers_in_ns()
426
+ return [naming_service.Resolve(containerEntry) for containerEntry in containersEntries]
427
+
428
+ def salome_shutdown_containers_without_session():
429
+ for cont in get_all_containers():
430
+ try:
431
+ cont.Shutdown()
432
+ except:
433
+ pass
434
+
435
+ def salome_shutdown_containers():
436
+ from .. import KernelBasis
437
+ if KernelBasis.getSSLMode():
438
+ salome_shutdown_containers_without_session()
439
+ else:
440
+ salome_shutdown_containers_with_session()
441
+
442
+ class SessionContextManager:
443
+ def __enter__(self):
444
+ standalone()
445
+ salome_init()
446
+ def __exit__(self, type, value, traceback):
447
+ salome_close()
448
+
449
+ def ResourcesManagerGetResourceDefinition(self, machine):
450
+ """
451
+ Implementation pickle ready
452
+ """
453
+ ret = self.GetResourceDefinition( machine )
454
+ ret.__class__.__module__ = "salome.kernel.Engines"
455
+ return ret
456
+
457
+ def ContainerManagerSetOverrideEnvForContainersSimple(self,env):
458
+ from .. import Engines
459
+ envEff = [ Engines.KeyValPairString(key=k,val=v) for k,v in env ]
460
+ return self.SetOverrideEnvForContainers( envEff )
461
+
462
+ def LogManagerNaiveFetch(self):
463
+ """
464
+ Fetch data from server with multiple CORBA invokations.
465
+ """
466
+ from .. import SALOME_ContainerHelper
467
+ return [SALOME_ContainerHelper.ContainerLogInfoClt(elt) for elt in self.listOfContainerLogs()]
468
+
469
+ def LogManagerFetch(self,clearMemory = False):
470
+ """
471
+ Fetch data from server in one shot mode.
472
+ """
473
+ from ..SALOME_ContainerHelper import unserializeLogManager
474
+ return unserializeLogManager( self.getAllStruct(clearMemory) )
475
+
476
+ def LogManagerDumpInFile(self,fileName,clearMemory = False):
477
+ with open(fileName,"wb") as f:
478
+ f.write( self.getAllStruct( clearMemory ) )
479
+
480
+
481
+ class LogManagerLaunchMonitoringFileCtxMgr:
482
+ def __init__(self, intervalInMs, outFileName):
483
+ self._interval_in_ms = intervalInMs
484
+ self._out_filename = outFileName
485
+ self._monitoring_params = None
486
+ def __enter__(self):
487
+ from .. import salome
488
+ self._monitoring_params = salome.logm.LaunchMonitoringDumpFile(self._interval_in_ms, self._out_filename)
489
+ return self._monitoring_params
490
+ def __exit__(self,exctype, exc, tb):
491
+ from .. import SALOME_PyNode
492
+ from .. import salome
493
+ SALOME_PyNode.StopMonitoring( self._monitoring_params )
494
+ salome.logm.GetLatestMonitoringDumpFile()
495
+ pass
496
+
497
+ def LogManagerLaunchMonitoringDumpFile(self, intervalInMs, outFileName):
498
+ """
499
+ This method loops indefinitely every intervalInMs milliseconds to dump the singleton
500
+ content of perf log stored in salome.logm.
501
+ This method runs in a dedicated subprocess that can be killed at any time.
502
+ So subprocess code must deal with.
503
+
504
+ See also LogManagerGetLatestMonitoringDumpFile
505
+ """
506
+ global orb,logm
507
+ ior = orb.object_to_string( logm )
508
+ import os
509
+ outFileName2 = os.path.abspath( os.path.expanduser(outFileName) )
510
+ import tempfile
511
+ import logging
512
+ from .. import SALOME_PyNode
513
+ from .. import KernelBasis
514
+ # outFileNameSave stores the content of outFileName during phase of dumping
515
+ with tempfile.NamedTemporaryFile(prefix=os.path.basename(outFileName2),dir=os.path.dirname(outFileName2)) as f:
516
+ outFileNameSave = f.name
517
+ with tempfile.NamedTemporaryFile(prefix="htopmain_",suffix=".py") as f:
518
+ tempPyFile = f.name
519
+ with open(tempPyFile,"w") as f:
520
+ f.write("""from salome.kernel import Engines
521
+ import os
522
+ import shutil
523
+ import CORBA
524
+ import time
525
+ orb=CORBA.ORB_init([''], CORBA.ORB_ID)
526
+ logm = orb.string_to_object("{ior}")
527
+ outFileName = "{outFileName}"
528
+ outFileNameSave = "{outFileNameSave}"
529
+ logm.setFileNamePairOfLogger(outFileName, outFileNameSave )
530
+ from salome.kernel import salome
531
+ while(True):
532
+ if os.path.exists( outFileName ):
533
+ shutil.copy(outFileName,outFileNameSave)
534
+ logm.versionB_IsTheLatestValidVersion()
535
+ salome.LogManagerDumpInFile(logm,outFileName)
536
+ logm.versionA_IsTheLatestValidVersion()
537
+ time.sleep( {intervalInMs} / 1000.0 )
538
+ """.format( **locals()))
539
+ logging.debug( "File for monitoring dump file : {}".format(tempPyFile) )
540
+ pyFileName = SALOME_PyNode.FileDeleter( tempPyFile )
541
+ pid = KernelBasis.LaunchMonitoring( tempPyFile )
542
+ return SALOME_PyNode.MonitoringInfo(pyFileName,intervalInMs,None,pid)
543
+
544
+ def LogManagerDumpIORInFile(self, iorFileName):
545
+ global logm
546
+ with open(iorFileName,"w") as f:
547
+ f.write( orb.object_to_string( logm ) )
548
+
549
+ def LogManagerLoadFromFile(fileName):
550
+ from salome.kernel.SALOME_ContainerHelper import unserializeLogManager
551
+ with open(fileName,"rb") as f:
552
+ data = f.read()
553
+ return unserializeLogManager( data )
554
+
555
+ def LogManagerLoadFromIORFile( iorFile ):
556
+ global orb
557
+ def LoadAndWrite(logm,tempFileName):
558
+ from salome.kernel import SALOME_PyNode
559
+ logm.putStructInFileAtomic( False, tempFileName )
560
+ tempFileAuto = SALOME_PyNode.FileDeleter( tempFileName )
561
+ ret = LogManagerLoadFromFile( tempFileAuto.filename )
562
+ return ret
563
+ with open(iorFile,"r") as f:
564
+ ior = f.read()
565
+ from salome.kernel import Engines
566
+ import tempfile
567
+ salome_init_without_session()
568
+ logm = orb.string_to_object( ior )
569
+ with tempfile.NamedTemporaryFile(dir=os.path.expanduser("~")) as f:
570
+ tempFileName = f.name
571
+ return LoadAndWrite( logm, tempFileName )
572
+
573
+ def LogManagerFinalFetchBeforeDying(self):
574
+ import shutil
575
+ a,b = self.getFileNamePairOfLogger()
576
+ self.DumpInFile( b )
577
+ shutil.move( b, a)
578
+
579
+ def LogManagerGetLatestMonitoringDumpFile(self):
580
+ import shutil
581
+ import logging
582
+ a,b = self.getFileNamePairOfLogger()
583
+ if a=="" or b=="":
584
+ return ""
585
+ if a == b:
586
+ return a
587
+ lastVersion = self.getLastVersionOfFileNameLogger()
588
+ if lastVersion == a:
589
+ logging.debug("LogManagerGetLatestMonitoringDumpFile SITUATION A")
590
+ if os.path.exists( b ):
591
+ os.remove( b )
592
+ self.FinalFetchBeforeDying()
593
+ return a
594
+ if lastVersion == b:
595
+ logging.debug("LogManagerGetLatestMonitoringDumpFile SITUATION B")
596
+ if os.path.exists( b ):
597
+ shutil.move( b, a)
598
+ self.FinalFetchBeforeDying()
599
+ return a
600
+ logging.warning("in LogManagerGetLatestMonitoringDumpFile an unexpected situation araises.")
601
+ return ""
602
+
603
+ class Barrier:
604
+ def __init__(self, nbClients):
605
+ import CORBA
606
+ orb=CORBA.ORB_init([''])
607
+ self._ior = orb.object_to_string( lm.buildRendezVous( nbClients ) )
608
+ def barrier(self):
609
+ import CORBA
610
+ from .. import Engines
611
+ orb=CORBA.ORB_init([''])
612
+ rvPtr = orb.string_to_object( self._ior )
613
+ rvPtr.acquire()
614
+
615
+ class LockGuardCM:
616
+ def __init__(self, key):
617
+ if lm is None:
618
+ raise RuntimeError("SALOME has not been initialized !")
619
+ self._lock = lm.getLockerFor( key )
620
+ def __enter__(self):
621
+ self._lock.acquire()
622
+ def __exit__(self,exctype, exc, tb):
623
+ self._lock.release()
624
+
625
+ class ContainerLauncherCM:
626
+ def __init__(self, cp, aggressiveShutdown = False):
627
+ """
628
+ :param cp: Engines.ContainerParameters instance specifying the request where the container will be launched
629
+ :param aggressiveShutdown:
630
+ """
631
+ self._cp = cp
632
+ self.aggressiveShutdown = aggressiveShutdown
633
+ def __enter__(self):
634
+ self._cont = cm.GiveContainer(self._cp)
635
+ return self._cont
636
+ def __exit__(self,exctype, exc, tb):
637
+ if not self.aggressiveShutdown:
638
+ self._cont.Shutdown()
639
+ else:
640
+ try:# we are in aggressive situation the following call is not expected to return normally
641
+ self._cont.ShutdownNow()
642
+ except:
643
+ pass
644
+
645
+ #to expose all objects to pydoc
646
+ __all__ = dir()