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,56 @@
1
+ # -*- coding: iso-8859-1 -*-
2
+ # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
3
+ #
4
+ # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5
+ # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6
+ #
7
+ # This library is free software; you can redistribute it and/or
8
+ # modify it under the terms of the GNU Lesser General Public
9
+ # License as published by the Free Software Foundation; either
10
+ # version 2.1 of the License, or (at your option) any later version.
11
+ #
12
+ # This library is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ # Lesser General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Lesser General Public
18
+ # License along with this library; if not, write to the Free Software
19
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
+ #
21
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22
+ #
23
+
24
+ import importlib
25
+ import sys
26
+ import unittest
27
+
28
+ def main(modules=None):
29
+ suite = unittest.TestSuite()
30
+ loader = unittest.defaultTestLoader
31
+
32
+ import salome
33
+ salome.salome_init()
34
+
35
+ if not modules:
36
+ from salome.kernel.services import getComponentList
37
+ modules = getComponentList()
38
+ if salome.hasDesktop():
39
+ import SalomePyQt
40
+ sg = SalomePyQt.SalomePyQt()
41
+ gui_modules = sg.getComponents()
42
+ modules += [i for i in gui_modules if i not in modules]
43
+ elif not isinstance(modules, (list, tuple)):
44
+ modules = [modules]
45
+ for module in modules:
46
+ test_name = '{}_test'.format(module.lower())
47
+ try:
48
+ importlib.import_module(test_name)
49
+ test_module = sys.modules[test_name]
50
+ suite.addTest(loader.loadTestsFromModule(test_module))
51
+ except ImportError:
52
+ pass
53
+ runner = unittest.TextTestRunner()
54
+ return runner.run(suite)
55
+
56
+ main()
@@ -0,0 +1,563 @@
1
+ # -*- coding: iso-8859-1 -*-
2
+ # Copyright (C) 2007-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
+ ## @package salome_utils
22
+ # @brief Set of utility functions used by SALOME python scripts.
23
+
24
+ """
25
+ Various utilities for SALOME.
26
+ """
27
+
28
+ # pragma pylint: disable=invalid-name
29
+
30
+ import os
31
+ import os.path as osp
32
+ import re
33
+ import shutil
34
+ import socket
35
+ import sys
36
+ import tempfile
37
+ import logging
38
+ from contextlib import suppress
39
+
40
+ import psutil
41
+
42
+ ## Setting formatter in setVerbose() was commented because adding of handler
43
+ ## breaks using of root logger in other modules and cause many double lines in logs.
44
+ #FORMAT = '%(levelname)s : %(asctime)s : [%(filename)s:%(funcName)s:%(lineno)s] : %(message)s'
45
+ #logging.basicConfig(format=FORMAT)
46
+ logger = logging.getLogger()
47
+
48
+ def _try_bool(arg):
49
+ """
50
+ Convert given `arg` to a boolean value.
51
+ String values like 'True', 'TRUE', 'YES', 'Yes', 'y', 'NO', 'false', 'n', etc.
52
+ are supported.
53
+ If `arg` does not represent a boolean, an exception is raised.
54
+ :param arg : value being converted
55
+ :return result of conversion: `True` or `False`
56
+ """
57
+ if isinstance(arg, bool):
58
+ return arg
59
+ if isinstance(arg, bytes):
60
+ arg = arg.decode('utf-8', errors='ignore')
61
+ if isinstance(arg, str):
62
+ if arg.lower() in ('yes', 'y', 'true', 't'):
63
+ return True
64
+ if arg.lower() in ('no', 'n', 'false', 'f'):
65
+ return False
66
+ raise ValueError('Not a boolean value')
67
+
68
+ # ---
69
+
70
+ def getORBcfgInfo():
71
+ """
72
+ Get current omniORB configuration.
73
+
74
+ The information is retrieved from the omniORB configuration file defined
75
+ by the OMNIORB_CONFIG environment variable.
76
+ If omniORB configuration file can not be accessed, a tuple of three empty
77
+ strings is returned.
78
+
79
+ :return tuple of three strings: (orb_version, host_name, port_number)
80
+ """
81
+ orb_version = ''
82
+ hostname = ''
83
+ port_number = ''
84
+ with suppress(Exception), open(os.getenv('OMNIORB_CONFIG')) as forb:
85
+ regvar = re.compile(r'(ORB)?InitRef.*corbaname::(.*):(\d+)\s*$')
86
+ for line in forb.readlines():
87
+ match = regvar.match(line)
88
+ if match:
89
+ orb_version = '4' if match.group(1) is None else '3'
90
+ hostname = match.group(2)
91
+ port_number = match.group(3)
92
+ break
93
+ return orb_version, hostname, port_number
94
+
95
+ # ---
96
+
97
+ def getHostFromORBcfg():
98
+ """
99
+ Get current omniORB host name.
100
+ :return host name
101
+ """
102
+ return getORBcfgInfo()[1]
103
+
104
+ # ---
105
+
106
+ def getPortFromORBcfg():
107
+ """
108
+ Get current omniORB port.
109
+ :return port number
110
+ """
111
+ return getORBcfgInfo()[2]
112
+
113
+ # ---
114
+
115
+ def getUserName():
116
+ """
117
+ Get user name.
118
+
119
+ The following procedure is perfomed to deduce user name:
120
+ 1. try USER (USERNAME on Windows) environment variable.
121
+ 2. if (1) fails, try LOGNAME (un*x only).
122
+ 3. if (2) fails, return 'unknown' as default user name
123
+
124
+ :return user name
125
+ """
126
+ if sys.platform == 'win32':
127
+ username = os.getenv('USERNAME')
128
+ else:
129
+ username = os.getenv('USER', os.getenv('LOGNAME'))
130
+ if username is None:
131
+ import getpass
132
+ username = getpass.getuser()
133
+ return username
134
+
135
+ # ---
136
+
137
+ def getHostName():
138
+ """
139
+ Get host name.
140
+
141
+ The following procedure is perfomed to deduce host name:
142
+ 1. try socket python module, gethostname() function
143
+ 2. if (1) fails, try HOSTNAME environment variable
144
+ 3. if (2) fails, try HOST environment variable
145
+ 4. if (3) fails, tries 'unknown' as default host name
146
+ 5. finally, checks that IP is configured for hostname; if not, returns 'localhost'
147
+
148
+ :return host name
149
+ """
150
+ host = None
151
+ with suppress(Exception):
152
+ host = socket.gethostname()
153
+ if not host:
154
+ host = os.getenv('HOSTNAME', os.getenv('HOST', 'unknown'))
155
+ try:
156
+ # the following line just checks that IP is configured for hostname
157
+ socket.gethostbyname(host)
158
+ except (TypeError, OSError):
159
+ host = 'localhost'
160
+ return host
161
+
162
+ # ---
163
+
164
+ def getShortHostName():
165
+ """
166
+ Get short host name (with domain stripped).
167
+ See `getHostName()` for more details.
168
+ :return short host name
169
+ """
170
+ with suppress(AttributeError, IndexError):
171
+ return getHostName().split('.')[0]
172
+ return 'unknown' # default host name
173
+
174
+ # ---
175
+
176
+ def getAppName():
177
+ """
178
+ Get application name.
179
+ The following procedure is perfomed to deduce application name:
180
+ 1. try APPNAME environment variable
181
+ 2. if (1) fails, return 'SALOME' as default application name
182
+ :return application name
183
+ """
184
+ return os.getenv('APPNAME', 'SALOME') # 'SALOME' is default user name
185
+
186
+ def getPid():
187
+ return os.getpid()
188
+
189
+ # ---
190
+
191
+ def getPortNumber(use_default=True):
192
+ """
193
+ Get currently used omniORB port.
194
+ The following procedure is perfomed to deduce port number:
195
+ 1. try NSPORT environment variable
196
+ 2. if (1) fails, try to parse config file defined by OMNIORB_CONFIG environment variable
197
+ 3. if (2) fails, return 2809 as default port number (if use_default is `True`) or `None`
198
+ (if use_default is `False`)
199
+ :return port number
200
+ """
201
+ with suppress(TypeError, ValueError):
202
+ return int(os.getenv('NSPORT'))
203
+ with suppress(TypeError, ValueError):
204
+ port = int(getPortFromORBcfg())
205
+ if port:
206
+ return port
207
+ return 2809 if use_default else None
208
+
209
+ # ---
210
+
211
+ def getHomeDir():
212
+ """
213
+ Get home directory.
214
+ :return home directory path
215
+ """
216
+ return osp.realpath(osp.expanduser('~'))
217
+
218
+ # ---
219
+
220
+ def getLogDir():
221
+ """
222
+ Get directory that stores log files.
223
+ :return path to the log directory
224
+ """
225
+ return osp.join(getTmpDir(), 'logs', getUserName())
226
+
227
+ # ---
228
+
229
+ def getTmpDir():
230
+ """
231
+ Get directory to store temporary files.
232
+ :return temporary directory path
233
+ """
234
+ with tempfile.NamedTemporaryFile() as tmp:
235
+ return osp.dirname(tmp.name)
236
+ return None
237
+
238
+ # ---
239
+
240
+ # pragma pylint: disable=too-many-arguments
241
+ def generateFileName(path, prefix=None, suffix=None, extension=None,
242
+ unique=False, separator='_', hidden=False, **kwargs):
243
+ """
244
+ Generate file name.
245
+
246
+ :param path : directory path
247
+ :param prefix : file name prefix (none by default)
248
+ :param suffix : file name suffix (none by default)
249
+ :param extension : file extension (none by default)
250
+ :param unique : if `True`, function generates unique file name -
251
+ in this case, if file with the generated name already
252
+ exists in `path` directory, an integer suffix is appended
253
+ to the file name (`False` by default)
254
+ :param separator : words separator ('_' by default)
255
+ :param hidden : if `True`, file name is prepended with dot symbol
256
+ (`False` by default)
257
+ :param kwargs : additional keywrods arguments (see below)
258
+ :return generated file name
259
+
260
+ Additionally supported keyword parameters:
261
+ - with_username : use user name:
262
+ - with_hostname : use host name:
263
+ - with_port : use port number:
264
+ - with_app : use application name:
265
+ - with_pid : use current pid
266
+
267
+ Any of these keyword arguments can accept either explicit string value,
268
+ or `True` to automatically deduce value from current configuration.
269
+ """
270
+ filename = []
271
+
272
+ def _with_str(_str):
273
+ _str = '' if _str is None else str(_str)
274
+ if _str:
275
+ filename.append(_str)
276
+
277
+ def _with_kwarg(_kwarg, _func):
278
+ _value = kwargs.get(_kwarg, False)
279
+ try:
280
+ if _try_bool(_value):
281
+ filename.append(str(_func()))
282
+ except ValueError:
283
+ _with_str(_value)
284
+
285
+ _with_str(prefix)
286
+ _with_kwarg('with_username', getUserName)
287
+ _with_kwarg('with_hostname', getShortHostName)
288
+ _with_kwarg('with_port', getPortNumber)
289
+ _with_kwarg('with_app', getAppName)
290
+ _with_kwarg('with_pid', getPid)
291
+ _with_str(suffix)
292
+
293
+ # raise an exception if file name is empty
294
+ if not filename:
295
+ raise ValueError('Empty file name')
296
+
297
+ # extension
298
+ extension = '' if extension is None else str(extension)
299
+ if extension.startswith('.'):
300
+ extension = extension[1:]
301
+
302
+ # separator
303
+ separator = '' if separator is None else str(separator)
304
+
305
+ def _generate(_index=None):
306
+ # join all components together, add index if necessary
307
+ if _index is not None:
308
+ _name = separator.join(filename+[str(_index)])
309
+ else:
310
+ _name = separator.join(filename)
311
+ # prepend with dot if necessary
312
+ if hidden:
313
+ _name = '.' + _name
314
+ # append extension if ncessary
315
+ if extension:
316
+ _name = _name + '.' + extension
317
+ # now get full path
318
+ return osp.join(path, _name)
319
+
320
+ name = _generate()
321
+ if unique:
322
+ index = 0
323
+ while osp.exists(name):
324
+ index = index + 1
325
+ name = _generate(index)
326
+ return osp.normpath(name)
327
+
328
+ # ---
329
+
330
+ def cleanDir(path):
331
+ """
332
+ Clear contents of directory.
333
+ :param path directory path
334
+ """
335
+ if osp.exists(path):
336
+ for filename in os.listdir(path):
337
+ file_path = osp.join(path, filename)
338
+ with suppress(OSError):
339
+ if osp.isdir(file_path):
340
+ shutil.rmtree(file_path)
341
+ else:
342
+ os.unlink(file_path)
343
+
344
+ # ---
345
+
346
+ def makeDir(path, mode=0o777):
347
+ """
348
+ Make directory with the specified path.
349
+ :param path : directory path
350
+ :param mode : access mode
351
+ """
352
+ try:
353
+ oldmask = os.umask(0)
354
+ os.makedirs(path, mode=mode, exist_ok=True)
355
+ except IOError:
356
+ pass
357
+ finally:
358
+ os.umask(oldmask)
359
+
360
+ # ---
361
+
362
+ def makeTmpDir(path, mode=0o777):
363
+ """
364
+ Make temporary directory with the specified path.
365
+ If the directory exists, clear all its contents.
366
+ :param path : directory path
367
+ :param mode : access mode
368
+ """
369
+ makeDir(path, mode)
370
+ cleanDir(path)
371
+
372
+ # ---
373
+
374
+ def uniteFiles(src_file, dest_file):
375
+ """
376
+ Join contents of `src_file` and `dest_file` and put result to `dest_file`.
377
+ File `dest_file` may not exist.
378
+ :param src_file : source file path
379
+ :param dest_file : destination file path
380
+ """
381
+ if not osp.exists(src_file):
382
+ return
383
+
384
+ if osp.exists(dest_file):
385
+ with suppress(OSError), open(src_file, 'rb') as src, open(dest_file, 'ab') as dest:
386
+ dest.write(b'\n')
387
+ dest.write(src.read())
388
+ else:
389
+ with suppress(OSError):
390
+ shutil.copy(src_file, dest_file)
391
+
392
+ # --
393
+
394
+ class ColoredFormatter(logging.Formatter):
395
+ BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = range(30,38)
396
+ COLORS = { 'WARNING': YELLOW, 'INFO': WHITE, 'DEBUG': BLUE, 'CRITICAL': YELLOW, 'ERROR': RED }
397
+ def __init__(self, *args, **kwargs):
398
+ logging.Formatter.__init__(self, *args, **kwargs)
399
+ def format(self, record):
400
+ RESET_SEQ = "\033[0m"
401
+ COLOR_SEQ = "\033[1;%dm"
402
+ import inspect
403
+ frame = inspect.currentframe()
404
+ for i in range(8):
405
+ frame = frame.f_back
406
+ record.levelname = COLOR_SEQ % ColoredFormatter.COLORS[record.levelname] + record.levelname + RESET_SEQ
407
+ record.msg = "{} ( callsite is {} of file \"{}\" at line {} )".format(record.msg, frame.f_code.co_name,inspect.getsourcefile(frame),inspect.getlineno(frame) )
408
+ return logging.Formatter.format(self, record)
409
+
410
+ class BackTraceFormatter(logging.Formatter):
411
+ def __init__(self, *args, **kwargs):
412
+ logging.Formatter.__init__(self, *args, **kwargs)
413
+ def format(self, record):
414
+ import inspect
415
+ frame = inspect.currentframe()
416
+ # go upward with ( a limit of 10 steps ) of the stack to catch the effective callsite. Not very steady....
417
+ # should be replaced by an analysis of frame.f_code
418
+ for i in range(10):
419
+ frame = frame.f_back
420
+ if inspect.getsourcefile(frame) != logging.__file__:
421
+ break
422
+ record.msg = "{} ( callsite is {} of file \"{}\" at line {} )".format(record.msg, frame.f_code.co_name,inspect.getsourcefile(frame),inspect.getlineno(frame) )
423
+ return logging.Formatter.format(self, record)
424
+
425
+ def positionVerbosityOfLogger( verboseLevel ):
426
+ from packaging import version
427
+ current_version = version.parse("{}.{}".format(sys.version_info.major,sys.version_info.minor))
428
+ version_ref = version.parse("3.5.0")
429
+ global logger
430
+ formatter = None
431
+ if current_version >= version_ref:
432
+ formatter = BackTraceFormatter('%(levelname)s : %(asctime)s : %(message)s ',style='%')
433
+ else:
434
+ formatter = logging.Formatter('%(levelname)s : %(asctime)s : %(message)s ',style='%')
435
+ formatter.default_time_format = '%H:%M:%S'
436
+ formatter.default_msec_format = "%s.%03d"
437
+ stream_handler = logging.StreamHandler()
438
+ stream_handler.setFormatter(formatter)
439
+ logger.addHandler(stream_handler)
440
+ logger.setLevel(verboseLevel)
441
+
442
+ def positionVerbosityOfLoggerRegardingState():
443
+ positionVerbosityOfLogger( verboseLevel() )
444
+
445
+ def verbose():
446
+ """
447
+ Get current verbosity activation.
448
+
449
+ Default verbosity level is specified via the environment variable SALOME_VERBOSE,
450
+ e.g. in bash:
451
+
452
+ $ export SALOME_VERBOSE=1
453
+
454
+ The function `setVerbose()` can be used to explicitly set verbosity activation.
455
+
456
+ :return current verbosity level
457
+ """
458
+ from .KernelBasis import VerbosityActivated
459
+ return VerbosityActivated()
460
+
461
+ # --
462
+
463
+ def setVerbose(status):
464
+ """
465
+ Change verbosity activation status.
466
+ The function `verbose()` can be used to get current verbosity level.
467
+ :param status : verbosity status
468
+ :type status: bool
469
+ """
470
+ from .KernelBasis import SetVerbosityActivated
471
+ return SetVerbosityActivated( status )
472
+
473
+ # --
474
+
475
+ KernelLogLevelToLogging = {"INFO":logging.INFO, "DEBUG":logging.DEBUG, "WARNING":logging.WARNING, "ERROR":logging.ERROR}
476
+
477
+ LoggingToKernelLogLevel = {v: k for k, v in KernelLogLevelToLogging.items()}
478
+
479
+ def verboseLevel():
480
+ """
481
+ Get current verbosity level.
482
+
483
+ Default verbosity level is specified via the environment variable SALOME_VERBOSE,
484
+ e.g. in bash:
485
+
486
+ $ export SALOME_VERBOSE_LEVEL=7
487
+
488
+ The function `setVerboseLevel()` can be used to explicitly set verbosity level.
489
+
490
+ :return current verbosity level
491
+ """
492
+ from .KernelBasis import VerbosityLevel
493
+ return KernelLogLevelToLogging[ VerbosityLevel() ]
494
+
495
+ def setVerboseLevel(level):
496
+ """
497
+ Change verbosity level.
498
+ The function `verboseLevel()` can be used to get current verbosity level.
499
+ :param level : verbosity level
500
+ """
501
+ from .KernelBasis import SetVerbosityLevel
502
+ SetVerbosityLevel(LoggingToKernelLogLevel[ level ])
503
+
504
+ # --
505
+
506
+ def killPid(pid, sig=9):
507
+ """
508
+ Send signal `sig` to the process with given `pid`.
509
+
510
+ :param pid : PID of the process
511
+ :param sig : signal to send; some of possible values:
512
+ - 9 : kill process
513
+ - 0 : do nothing, just check process existence (see below)
514
+ NOTE: other values are not processed on Windows
515
+ :return result of execution:
516
+ - 1 : success
517
+ - 0 : fail, no such process
518
+ - -1 : fail, another reason
519
+ """
520
+ if not pid:
521
+ return -1
522
+
523
+ with suppress(ValueError):
524
+ pid = int(pid)
525
+
526
+ if sig == 0:
527
+ ret = 1 if psutil.pid_exists(pid) else 0
528
+ else:
529
+ if verbose():
530
+ print("######## killPid pid = ", pid)
531
+ try:
532
+ process = psutil.Process(pid)
533
+ process.terminate()
534
+ _, alive = psutil.wait_procs([process], timeout=5)
535
+ for proc in alive:
536
+ proc.kill()
537
+ ret = 1
538
+ except psutil.NoSuchProcess:
539
+ ret = 0
540
+ except OSError:
541
+ ret = -1
542
+ return ret
543
+ # --
544
+
545
+ def getOmniNamesPid(port):
546
+ """
547
+ Get PID of omniNames process running on given `port`.
548
+ :param port : port number
549
+ :return omniNames process's PID
550
+ """
551
+ processes = {p.info['pid']: p.info['name'] for p in psutil.process_iter(['pid', 'name'])}
552
+ return next((c.pid for c in psutil.net_connections(kind='inet') \
553
+ if str(c.laddr.port) == str(port) and processes.get(c.pid).startswith('omniNames')), None)
554
+ # --
555
+
556
+ def killOmniNames(port):
557
+ """
558
+ Kill omniNames process running on given `port`.
559
+ :param port : port number
560
+ """
561
+ with suppress(Exception):
562
+ killPid(getOmniNamesPid(port))
563
+ # --