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

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-d4557377.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-f5fc4b7e.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-896ae3bb.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,731 @@
1
+ #! /usr/bin/env python3
2
+ # Copyright (C) 2013-2024 CEA, EDF, OPEN CASCADE
3
+ #
4
+ # This library is free software; you can redistribute it and/or
5
+ # modify it under the terms of the GNU Lesser General Public
6
+ # License as published by the Free Software Foundation; either
7
+ # version 2.1 of the License, or (at your option) any later version.
8
+ #
9
+ # This library is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public
15
+ # License along with this library; if not, write to the Free Software
16
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
+ #
18
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19
+ #
20
+
21
+ import os
22
+ import sys
23
+ import logging
24
+ import configparser
25
+ if sys.version_info[:2] >= (3,12):
26
+ from configparser import ConfigParser as SafeConfigParser
27
+ else:
28
+ from configparser import SafeConfigParser
29
+ from .parseConfigFile import parseConfigFile
30
+
31
+ import tempfile
32
+ import pickle
33
+ import subprocess
34
+ import sys
35
+ import platform
36
+
37
+ from .salomeContextUtils import SalomeContextException
38
+
39
+ def usage(appended_cmd_doc = "", appended_opt_doc = ""):
40
+ add_in_help = {"appended_cmd_doc":appended_cmd_doc,"appended_opt_doc":appended_opt_doc}
41
+ msg = '''\
42
+ Usage: salome [command] [options] [--config=<file,folder,...>] [--with-env-modules=<env_module1,env_module2,...>]
43
+
44
+ Commands:
45
+ =========
46
+ start Start a new SALOME instance. Start a single SALOME_Session_Server_No_Server
47
+ process with environment relevant to the application and hosting all servants in it.
48
+ context Initialize SALOME context. Current environment is extended.
49
+ shell Initialize SALOME context, attached to the last created SALOME
50
+ instance if any, and executes scripts passed as command arguments.
51
+ User works in a Shell terminal. SALOME environment is set but
52
+ application is not started.
53
+ test Run SALOME tests.
54
+ info Display some information about SALOME.
55
+ doc <module(s)> Show online module documentation (if available).
56
+ Module names must be separated by blank characters.
57
+ help Show this message.
58
+ remote run command in SALOME environment from remote call, ssh or rsh.
59
+ withsession Start a new SWS SALOME instance with multiple servers hosting all servants.
60
+ connect In SWS context, Connect a Python console to the active SALOME instance.
61
+ kill <port(s)> In SWS context, Terminate SALOME instances running on given ports for current user.
62
+ Port numbers must be separated by blank characters.
63
+ killall Terminate *all* SALOME running SWS instances for current user.
64
+ Do not start a new one.
65
+ %(appended_cmd_doc)s
66
+ If no command is given, default is start.
67
+
68
+ Command options:
69
+ ================
70
+ Use salome <command> --help to show help on command. Available for the
71
+ following commands: start, shell, connect, test, info.
72
+
73
+ --config=<file,folder,...>
74
+ ==========================
75
+ Initialize SALOME context from a list of context files and/or a list
76
+ of folders containing context files. The list is comma-separated, without
77
+ any blank characters.
78
+
79
+ --with-env-modules=<env_module1,env_module2,...>
80
+ ================================================
81
+ Initialize SALOME context with the provided additional environment modules.
82
+ The list is comma-separated, without any blank characters.
83
+ %(appended_opt_doc)s
84
+ '''
85
+
86
+ print(msg%add_in_help)
87
+ #
88
+
89
+ """
90
+ The SalomeContext class in an API to configure SALOME context then
91
+ start SALOME using a single python command.
92
+
93
+ """
94
+ class SalomeContext:
95
+ """
96
+ Initialize context from a list of configuration files
97
+ identified by their names.
98
+ These files should be in appropriate .cfg format.
99
+ """
100
+ def __init__(self, configFileNames=0):
101
+ self.getLogger().setLevel(logging.INFO)
102
+ #it could be None explicitly (if user use multiples setVariable...for standalone)
103
+ if configFileNames is None:
104
+ return
105
+ configFileNames = configFileNames or []
106
+ if len(configFileNames) == 0:
107
+ raise SalomeContextException("No configuration files given")
108
+
109
+ reserved=['PATH', 'DYLD_FALLBACK_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'LD_LIBRARY_PATH', 'PYTHONPATH', 'MANPATH', 'PV_PLUGIN_PATH', 'INCLUDE', 'LIBPATH', 'SALOME_PLUGINS_PATH', 'LIBRARY_PATH', 'QT_PLUGIN_PATH']
110
+ for filename in configFileNames:
111
+ basename, extension = os.path.splitext(filename)
112
+ if extension == ".cfg":
113
+ self.__setContextFromConfigFile(filename, reserved)
114
+ else:
115
+ self.getLogger().error("Unrecognized extension for configuration file: %s", filename)
116
+ #
117
+
118
+ def __loadEnvModules(self, env_modules):
119
+ modulecmd = os.getenv('LMOD_CMD')
120
+ if not modulecmd:
121
+ raise SalomeContextException("Module environment not present")
122
+ return
123
+ try:
124
+ out, err = subprocess.Popen([modulecmd, "python", "try-load"] + env_modules, stdout=subprocess.PIPE).communicate()
125
+ exec(out) # define specific environment variables
126
+ except Exception:
127
+ raise SalomeContextException("Failed to load env modules: %s ..." % ' '.join(env_modules))
128
+ pass
129
+ #
130
+
131
+ def runSalome(self, args):
132
+ import os
133
+ # Run this module as a script, in order to use appropriate Python interpreter
134
+ # according to current path (initialized from context files).
135
+ env_modules_option = "--with-env-modules="
136
+ env_modules_l = [x for x in args if x.startswith(env_modules_option)]
137
+ if env_modules_l:
138
+ env_modules = env_modules_l[-1][len(env_modules_option):].split(',')
139
+ self.__loadEnvModules(env_modules)
140
+ args = [x for x in args if not x.startswith(env_modules_option)]
141
+ else:
142
+ env_modules = os.getenv("SALOME_ENV_MODULES", None)
143
+ if env_modules:
144
+ self.__loadEnvModules(env_modules.split(','))
145
+
146
+ absoluteAppliPath = os.getenv('ABSOLUTE_APPLI_PATH','')
147
+ env_copy = os.environ.copy()
148
+ selfBytes= pickle.dumps(self, protocol=0)
149
+ argsBytes= pickle.dumps(args, protocol=0)
150
+ cmd = ['python3', os.path.join(absoluteAppliPath,"bin","salome","salomeContext.py"), selfBytes.decode('latin1'), argsBytes.decode('latin1')]
151
+ proc = subprocess.Popen(cmd, shell=False, close_fds=True, env=env_copy)
152
+ out, err = proc.communicate()
153
+ return out, err, proc.returncode
154
+ #
155
+
156
+ """Append value to PATH environment variable"""
157
+ def addToPath(self, value):
158
+ self.addToVariable('PATH', value)
159
+ #
160
+
161
+ """Append value to LD_LIBRARY_PATH environment variable"""
162
+ def addToLdLibraryPath(self, value):
163
+ if sys.platform == 'win32':
164
+ self.addToVariable('PATH', value)
165
+ elif sys.platform == 'darwin':
166
+ if "LAPACK" in value:
167
+ self.addToVariable('DYLD_FALLBACK_LIBRARY_PATH', value)
168
+ else:
169
+ self.addToVariable('DYLD_LIBRARY_PATH', value)
170
+ else:
171
+ self.addToVariable('LD_LIBRARY_PATH', value)
172
+ #
173
+
174
+ """Append value to DYLD_LIBRARY_PATH environment variable"""
175
+ def addToDyldLibraryPath(self, value):
176
+ self.addToVariable('DYLD_LIBRARY_PATH', value)
177
+ #
178
+
179
+ """Append value to PYTHONPATH environment variable"""
180
+ def addToPythonPath(self, value):
181
+ self.addToVariable('PYTHONPATH', value)
182
+ #
183
+
184
+ """Set environment variable to value"""
185
+ def setVariable(self, name, value, overwrite=False):
186
+ env = os.getenv(name, '')
187
+ if env and not overwrite:
188
+ self.getLogger().error("Environment variable already existing (and not overwritten): %s=%s", name, value)
189
+ return
190
+
191
+ if env:
192
+ self.getLogger().debug("Overwriting environment variable: %s=%s", name, value)
193
+
194
+ value = os.path.expandvars(value) # expand environment variables
195
+ self.getLogger().debug("Set environment variable: %s=%s", name, value)
196
+ os.environ[name] = value
197
+ #
198
+
199
+ def setDefaultValue(self, name, value):
200
+ """ Set environment variable only if it is undefined."""
201
+ env = os.getenv(name, '')
202
+ if not env:
203
+ value = os.path.expandvars(value) # expand environment variables
204
+ self.getLogger().debug("Set environment variable: %s=%s", name, value)
205
+ os.environ[name] = value
206
+
207
+ """Unset environment variable"""
208
+ def unsetVariable(self, name):
209
+ if name in os.environ:
210
+ del os.environ[name]
211
+ #
212
+
213
+ """Prepend value to environment variable"""
214
+ def addToVariable(self, name, value, separator=os.pathsep):
215
+ if value == '':
216
+ return
217
+
218
+ value = os.path.expandvars(value) # expand environment variables
219
+ self.getLogger().debug("Add to %s: %s", name, value)
220
+ env = os.getenv(name, None)
221
+ if env is None:
222
+ os.environ[name] = value
223
+ else:
224
+ os.environ[name] = value + separator + env
225
+ #
226
+
227
+ """Append a variable"""
228
+ def appendVariable(self, name, value, separator=os.pathsep):
229
+ if value == '':
230
+ return
231
+
232
+ value = os.path.expandvars(value) # expand environment variables
233
+ env = os.getenv(name, None)
234
+ if env is None:
235
+ os.environ[name] = value
236
+ else:
237
+ os.environ[name] = env + separator + value
238
+ return
239
+
240
+ """Remove value from environment variable"""
241
+ def removeFromVariable(self, name, value, separator=os.pathsep):
242
+ if value == '':
243
+ return
244
+
245
+ value = os.path.expandvars(value) # expand environment variables
246
+ self.getLogger().debug("Remove from %s: %s", name, value)
247
+ env = os.getenv(name, None)
248
+ if env == value:
249
+ env = ''
250
+ else:
251
+ # env = env.removeprefix(value + separator) (Python >= 3.9)
252
+ str = value + separator
253
+ if env.startswith(str):
254
+ env = env[len(str):]
255
+ # env = env.removesuffix(separator + value) (Python >= 3.9)
256
+ str = separator + value
257
+ if env.endswith(str):
258
+ env = env[:-len(str)]
259
+ env = env.replace(separator + value + separator, ':')
260
+
261
+ os.environ[name] = env
262
+ #
263
+
264
+ ###################################
265
+ # This begins the private section #
266
+ ###################################
267
+
268
+ def __parseArguments(self, args):
269
+ if len(args) == 0 or args[0].startswith("-"):
270
+ return None, args
271
+
272
+ command = args[0]
273
+ options = args[1:]
274
+
275
+ availableCommands = {
276
+ 'start' : '_sessionless',
277
+ 'withsession' : '_runAppli',
278
+ 'context' : '_setContext',
279
+ 'shell' : '_runSession',
280
+ 'remote' : '_runRemote',
281
+ 'connect' : '_runConsole',
282
+ 'kill' : '_kill',
283
+ 'killall' : '_killAll',
284
+ 'test' : '_runTests',
285
+ 'info' : '_showInfo',
286
+ 'doc' : '_showDoc',
287
+ 'help' : '_usage',
288
+ 'coffee' : '_makeCoffee',
289
+ 'car' : '_getCar',
290
+ }
291
+
292
+ if command not in availableCommands:
293
+ command = "start"
294
+ options = args
295
+
296
+ return availableCommands[command], options
297
+ #
298
+
299
+ """
300
+ Run SALOME!
301
+ Args consist in a mandatory command followed by optional parameters.
302
+ See usage for details on commands.
303
+ """
304
+ def _startSalome(self, args):
305
+ import os
306
+ import sys
307
+
308
+ command, options = self.__parseArguments(args)
309
+ sys.argv = options
310
+
311
+ if command is None:
312
+ if args and args[0] in ["-h","--help","help"]:
313
+ usage()
314
+ return 0
315
+ # try to default to "start" command
316
+ command = "_sessionless"
317
+
318
+ try:
319
+ res = getattr(self, command)(options) # run appropriate method
320
+ return res or 0
321
+ except SystemExit as ex:
322
+ if ex.code != 0:
323
+ self.getLogger().error("SystemExit %s in method %s.", ex.code, command)
324
+ return ex.code
325
+ except SalomeContextException as e:
326
+ self.getLogger().error(e)
327
+ return 1
328
+ except Exception:
329
+ self.getLogger().error("Unexpected error:")
330
+ import traceback
331
+ traceback.print_exc()
332
+ return 1
333
+ #
334
+
335
+ def __setContextFromConfigFile(self, filename, reserved=None):
336
+ mesa_root_dir = "MESA_ROOT_DIR"
337
+ if reserved is None:
338
+ reserved = []
339
+ try:
340
+ configInfo = parseConfigFile(filename, reserved)
341
+ unsetVars = configInfo.unsetVariables
342
+ configVars = configInfo.outputVariables
343
+ reservedDict = configInfo.reservedValues
344
+ defaultValues = configInfo.defaultValues
345
+ except SalomeContextException as e:
346
+ msg = "%s"%e
347
+ self.getLogger().error(msg)
348
+ return 1
349
+
350
+ # unset variables
351
+ for var in unsetVars:
352
+ self.unsetVariable(var)
353
+
354
+ # mesa stuff
355
+ if "MESA_GL_VERSION_OVERRIDE" in os.environ:
356
+ configVarsDict = {k:v for (k,v) in configVars}
357
+ if mesa_root_dir in configVarsDict:
358
+ path_to_mesa_lib = os.path.join(configVarsDict[mesa_root_dir],"lib")
359
+ if os.name == "posix":
360
+ self.addToVariable("LD_LIBRARY_PATH",path_to_mesa_lib)
361
+ else:
362
+ self.addToVariable("PATH",path_to_mesa_lib)
363
+
364
+ # set context
365
+ for reserved in reservedDict:
366
+ a = [_f for _f in reservedDict[reserved] if _f] # remove empty elements
367
+ a = [ os.path.realpath(x) for x in a ]
368
+ reformattedVals = os.pathsep.join(a)
369
+ if reserved in ["INCLUDE", "LIBPATH"]:
370
+ self.addToVariable(reserved, reformattedVals, separator=' ')
371
+ else:
372
+ self.addToVariable(reserved, reformattedVals)
373
+ pass
374
+
375
+
376
+ for key,val in configVars:
377
+ self.setVariable(key, val, overwrite=True)
378
+ pass
379
+
380
+ for key,val in defaultValues:
381
+ self.setDefaultValue(key, val)
382
+ pass
383
+
384
+ pythonpath = os.getenv('PYTHONPATH','').split(os.pathsep)
385
+ pythonpath = [ os.path.realpath(x) for x in pythonpath ]
386
+ sys.path[:0] = pythonpath
387
+ #
388
+
389
+ def _runAppli(self, args=None):
390
+ if args is None:
391
+ args = []
392
+ # Initialize SALOME environment
393
+ sys.argv = ['runSalomeOld'] + args
394
+ import setenv
395
+ setenv.main(True, exeName="salome withsession")
396
+
397
+ import runSalomeOld
398
+ runSalomeOld.runSalome()
399
+ return 0
400
+ #
401
+
402
+ def _sessionless(self, args=None):
403
+ if args is None:
404
+ args = []
405
+ sys.argv = ['runSalome'] + args
406
+ import setenv
407
+ setenv.main(True, exeName="salome withsession")
408
+
409
+ from salome.kernel import runSalome_impl
410
+ runSalome_impl.runSalome()
411
+ return 0
412
+ #
413
+
414
+ def _setContext(self, args=None):
415
+ salome_context_set = os.getenv("SALOME_CONTEXT_SET")
416
+ if salome_context_set:
417
+ print("***")
418
+ print("*** SALOME context has already been set.")
419
+ print("*** Enter 'exit' (only once!) to leave SALOME context.")
420
+ print("***")
421
+ return 0
422
+
423
+ os.environ["SALOME_CONTEXT_SET"] = "yes"
424
+ print("***")
425
+ print("*** SALOME context is now set.")
426
+ print("*** Enter 'exit' (only once!) to leave SALOME context.")
427
+ print("***")
428
+
429
+ if sys.platform == 'win32':
430
+ cmd = ['cmd.exe']
431
+ else:
432
+ cmd = ["/bin/bash"]
433
+ proc = subprocess.Popen(cmd, shell=False, close_fds=True)
434
+ proc.communicate()
435
+ return proc.returncode
436
+ #
437
+
438
+ def _runSession(self, args=None):
439
+ if args is None:
440
+ args = []
441
+ sys.argv = ['runSession'] + args
442
+ from . import runSession
443
+ params, args = runSession.configureSession(args, exe="salome shell")
444
+
445
+ sys.argv = ['runSession'] + args
446
+ import setenv
447
+ setenv.main(True)
448
+
449
+ return runSession.runSession(params, args)
450
+ #
451
+
452
+ def _runRemote(self, args=None):
453
+ if args is None:
454
+ args = []
455
+ # complete salome environment
456
+ sys.argv = ['runRemote']
457
+ import setenv
458
+ setenv.main(True)
459
+
460
+ import runRemote
461
+ return runRemote.runRemote(args)
462
+ #
463
+
464
+ def _runConsole(self, args=None):
465
+ if args is None:
466
+ args = []
467
+ # Initialize SALOME environment
468
+ sys.argv = ['runConsole']
469
+ import setenv
470
+ setenv.main(True)
471
+
472
+ import runConsole
473
+ return runConsole.connect(args)
474
+ #
475
+
476
+ def _kill(self, args=None):
477
+ if args is None:
478
+ args = []
479
+ ports = args
480
+ if not ports:
481
+ print("Port number(s) not provided to command: salome kill <port(s)>")
482
+ return 1
483
+
484
+ import subprocess
485
+ sys.argv = ['kill']
486
+ import setenv
487
+ setenv.main(True)
488
+ if os.getenv("NSHOST") == "no_host":
489
+ os.unsetenv("NSHOST")
490
+ for port in ports:
491
+ if sys.platform == "win32":
492
+ proc = subprocess.Popen([os.getenv("PYTHONBIN"), "-m", "killSalomeWithPort", str(port)])
493
+ else:
494
+ proc = subprocess.Popen(["killSalomeWithPort.py", str(port)])
495
+ proc.communicate()
496
+ return 0
497
+ #
498
+
499
+ def _killAll(self, unused=None):
500
+ sys.argv = ['killAll']
501
+ import setenv
502
+ setenv.main(True)
503
+ if os.getenv("NSHOST") == "no_host":
504
+ os.unsetenv("NSHOST")
505
+ try:
506
+ from . import PortManager # mandatory
507
+ import subprocess
508
+ ports = PortManager.getBusyPorts()['this']
509
+
510
+ if ports:
511
+ for port in ports:
512
+ if sys.platform == "win32":
513
+ proc = subprocess.Popen([os.getenv("PYTHONBIN"), "-m", "killSalomeWithPort", str(port)])
514
+ else:
515
+ proc = subprocess.Popen(["killSalomeWithPort.py", str(port)])
516
+ proc.communicate()
517
+ except ImportError:
518
+ # :TODO: should be declared obsolete
519
+ from killSalome import killAllPorts
520
+ killAllPorts()
521
+ pass
522
+ from addToKillList import killList
523
+ killList()
524
+ return 0
525
+ #
526
+
527
+ def _runTests(self, args=None):
528
+ if args is None:
529
+ args = []
530
+ sys.argv = ['runTests']
531
+ import setenv
532
+ setenv.main(True)
533
+
534
+ from . import runTests
535
+ return runTests.runTests(args, exe="salome test")
536
+ #
537
+
538
+ def _showSoftwareVersions(self, softwares=None):
539
+ config = SafeConfigParser()
540
+ absoluteAppliPath = os.getenv('ABSOLUTE_APPLI_PATH')
541
+ filename = os.path.join(absoluteAppliPath, "sha1_collections.txt")
542
+ versions = {}
543
+ max_len = 0
544
+ with open(filename) as f:
545
+ for line in f:
546
+ try:
547
+ software, version, sha1 = line.split()
548
+ versions[software.upper()] = version
549
+ if len(software) > max_len:
550
+ max_len = len(software)
551
+ except Exception:
552
+ pass
553
+ pass
554
+ pass
555
+ if softwares:
556
+ for soft in softwares:
557
+ if soft.upper() in versions:
558
+ print(soft.upper().rjust(max_len), versions[soft.upper()])
559
+ else:
560
+ import collections
561
+ od = collections.OrderedDict(sorted(versions.items()))
562
+ for name, version in od.items():
563
+ print(name.rjust(max_len), versions[name])
564
+ pass
565
+
566
+ def _showInfo(self, args=None):
567
+ if args is None:
568
+ args = []
569
+
570
+ usage = "Usage: salome info [options]"
571
+ epilog = """\n
572
+ Display some information about SALOME.\n
573
+ Available options are:
574
+ -p,--ports Show the list of busy ports (running SALOME instances).
575
+ -s,--softwares [software(s)] Show the list and versions of SALOME softwares.
576
+ Software names must be separated by blank characters.
577
+ If no software is given, show version of all softwares.
578
+ -v,--version Show running SALOME version.
579
+ -h,--help Show this message.
580
+ """
581
+ if not args:
582
+ args = ["--version"]
583
+
584
+ if "-h" in args or "--help" in args:
585
+ print(usage + epilog)
586
+ return 0
587
+
588
+ if "-p" in args or "--ports" in args:
589
+ from . import PortManager
590
+ ports = PortManager.getBusyPorts()
591
+ this_ports = ports['this']
592
+ other_ports = ports['other']
593
+ if this_ports or other_ports:
594
+ print("SALOME instances are running on the following ports:")
595
+ if this_ports:
596
+ print(" This application:", this_ports)
597
+ else:
598
+ print(" No SALOME instances of this application")
599
+ if other_ports:
600
+ print(" Other applications:", other_ports)
601
+ else:
602
+ print(" No SALOME instances of other applications")
603
+ else:
604
+ print("No SALOME instances are running")
605
+
606
+ if "-s" in args or "--softwares" in args:
607
+ if "-s" in args:
608
+ index = args.index("-s")
609
+ else:
610
+ index = args.index("--softwares")
611
+ indexEnd=index+1
612
+ while indexEnd < len(args) and args[indexEnd][0] != "-":
613
+ indexEnd = indexEnd + 1
614
+ self._showSoftwareVersions(softwares=args[index+1:indexEnd])
615
+
616
+ if "-v" in args or "--version" in args:
617
+ print("Running with python", platform.python_version())
618
+ return self._sessionless(["--version"])
619
+
620
+ return 0
621
+ #
622
+
623
+ def _showDoc(self, args=None):
624
+ if args is None:
625
+ args = []
626
+
627
+ modules = args
628
+ if not modules:
629
+ print("Module(s) not provided to command: salome doc <module(s)>")
630
+ return 1
631
+
632
+ appliPath = os.getenv("ABSOLUTE_APPLI_PATH")
633
+ if not appliPath:
634
+ raise SalomeContextException("Unable to find application path. Please check that the variable ABSOLUTE_APPLI_PATH is set.")
635
+ baseDir = os.path.join(appliPath, "share", "doc", "salome")
636
+ for module in modules:
637
+ docfile = os.path.join(baseDir, "gui", module.upper(), "index.html")
638
+ if not os.path.isfile(docfile):
639
+ docfile = os.path.join(baseDir, "tui", module.upper(), "index.html")
640
+ if not os.path.isfile(docfile):
641
+ docfile = os.path.join(baseDir, "dev", module.upper(), "index.html")
642
+ if os.path.isfile(docfile):
643
+ out, err = subprocess.Popen(["xdg-open", docfile]).communicate()
644
+ else:
645
+ print("Online documentation is not accessible for module:", module)
646
+
647
+ def _usage(self, unused=None):
648
+ usage()
649
+ #
650
+
651
+ def _makeCoffee(self, unused=None):
652
+ print(" (")
653
+ print(" ) (")
654
+ print(" ___...(-------)-....___")
655
+ print(" .-\"\" ) ( \"\"-.")
656
+ print(" .-\'``\'|-._ ) _.-|")
657
+ print(" / .--.| `\"\"---...........---\"\"` |")
658
+ print(" / / | |")
659
+ print(" | | | |")
660
+ print(" \\ \\ | |")
661
+ print(" `\\ `\\ | |")
662
+ print(" `\\ `| SALOME |")
663
+ print(" _/ /\\ 4 EVER /")
664
+ print(" (__/ \\ <3 /")
665
+ print(" _..---\"\"` \\ /`\"\"---.._")
666
+ print(" .-\' \\ / \'-.")
667
+ print(" : `-.__ __.-\' :")
668
+ print(" : ) \"\"---...---\"\" ( :")
669
+ print(" \'._ `\"--...___...--\"` _.\'")
670
+ print(" \\\"\"--..__ __..--\"\"/")
671
+ print(" \'._ \"\"\"----.....______.....----\"\"\" _.\'")
672
+ print(" `\"\"--..,,_____ _____,,..--\"\"`")
673
+ print(" `\"\"\"----\"\"\"`")
674
+ print("")
675
+ print(" SALOME is working for you; what else?")
676
+ print("")
677
+ #
678
+
679
+ def _getCar(self, unused=None):
680
+ print(" _____________")
681
+ print(" ..---:::::::-----------. ::::;;.")
682
+ print(" .\'\"\"\"\"\"\" ;; \\ \":.")
683
+ print(" .\'\' ; \\ \"\\__.")
684
+ print(" .\' ;; ; \\\\\";")
685
+ print(" .\' ; _____; \\\\/")
686
+ print(" .\' :; ;\" \\ ___:\'.")
687
+ print(" .\'--........................... : = ____:\" \\ \\")
688
+ print(" ..-\"\" \"\"\"\' o\"\"\" ; ; :")
689
+ print(" .--\"\" .----- ..----... _.- --. ..-\" ; ; ; ;")
690
+ print(" .\"\"_- \"--\"\"-----\'\"\" _-\" .-\"\" ; ; .-.")
691
+ print(" .\' .\' SALOME .\" .\" ; ; /. |")
692
+ print(" /-./\' 4 EVER <3 .\" / _.. ; ; ;;;|")
693
+ print(" : ;-.______ / _________==. /_ \\ ; ; ;;;;")
694
+ print(" ; / | \"\"\"\"\"\"\"\"\"\"\".---.\"\"\"\"\"\"\" : /\" \". |; ; _; ;;;")
695
+ print(" /\"-/ | / / / / ;|; ;-\" | ;\';")
696
+ print(":- : \"\"\"----______ / / ____. . .\"\'. ;; .-\"..T\" .")
697
+ print("\'. \" ___ \"\": \'\"\"\"\"\"\"\"\"\"\"\"\"\"\" . ; ; ;; ;.\" .\" \'--\"")
698
+ print(" \", __ \"\"\" \"\"---... :- - - - - - - - - \' \' ; ; ; ;;\" .\"")
699
+ print(" /. ; \"\"\"---___ ; ; ; ;|.\"\"")
700
+ print(" : \": \"\"\"----. .-------. ; ; ; ;:")
701
+ print(" \\ \'--__ \\ \\ \\ / | ; ;;")
702
+ print(" \'-.. \"\"\"\"---___ : .______..\\ __/..-\"\"| ; ; ;")
703
+ print(" \"\"--.. \"\"\"--\" m l s . \". . ;")
704
+ print(" \"\"------... ..--\"\" \" :")
705
+ print(" \"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\" \\ /")
706
+ print(" \"------\"")
707
+ print("")
708
+ print(" Drive your simulation properly with SALOME!")
709
+ print("")
710
+ #
711
+
712
+ # Add the following two methods since logger is not pickable
713
+ # Ref: http://stackoverflow.com/questions/2999638/how-to-stop-attributes-from-being-pickled-in-python
714
+ def __getstate__(self):
715
+ d = dict(self.__dict__)
716
+ if hasattr(self, '_logger'):
717
+ del d['_logger']
718
+ return d
719
+ #
720
+ def __setstate__(self, d):
721
+ self.__dict__.update(d) # I *think* this is a safe way to do it
722
+ #
723
+ # Excluding self._logger from pickle operation imply using the following method to access logger
724
+ def getLogger(self):
725
+ if not hasattr(self, '_logger'):
726
+ self._logger = logging.getLogger(__name__)
727
+ #self._logger.setLevel(logging.DEBUG)
728
+ #self._logger.setLevel(logging.WARNING)
729
+ self._logger.setLevel(logging.ERROR)
730
+ return self._logger
731
+ #