salome.kernel 9.14.0__cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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-0b12a01a.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-3e35028d.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,111 @@
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
+ ## \defgroup salome_kernel_utils salome.kernel
22
+ # \{
23
+ # \details Package containing the KERNEL python utilities
24
+ # \defgroup deprecation
25
+ # \defgroup termcolor
26
+ # \defgroup logger
27
+ # \defgroup enumerate
28
+ # \defgroup uiexception
29
+ # \defgroup datamodeler
30
+ # \defgroup diclookup
31
+ # \defgroup service
32
+ # \defgroup studyedit
33
+ # \defgroup unittester
34
+ # \defgroup pyunittester
35
+ # \}
36
+
37
+ from salome.kernel import version_and_config
38
+
39
+ __all__ = [ "deprecation", "logger", "termcolor", "logconfig" ]
40
+ __version__ = version_and_config.version
41
+ __config_datetime__ = version_and_config.config_datetime
42
+
43
+ del version_and_config
44
+
45
+ # WARN: This file SHOULD NOT import salome stuff so that modules of the
46
+ # package could be used outside of a SALOME session context when
47
+ # possible. For example logger.py, datamodeler.py, enumerate.py,
48
+ # diclookup.py, ... does not need a SALOME running application.
49
+
50
+ #
51
+ # ==============================================================================
52
+ # Generic serialization functions for the module datamodeler
53
+ # ==============================================================================
54
+ #
55
+ import pickle
56
+
57
+ def serialize(dataToSerialize):
58
+ """
59
+ Creates a string description of the specified data.
60
+ .. attribute:: dataToSerialize
61
+ a data object to serialize
62
+ """
63
+ serialstring = pickle.dumps(dataToSerialize)
64
+ return serialstring
65
+
66
+ def unserialize(stringToUnserialize):
67
+ """
68
+ Creates a data object from its string description. The string description
69
+ is supposed to be obtained by a call to serialize.
70
+ .. attribute:: stringToUnserialize
71
+ a string description of the object
72
+ """
73
+ data = pickle.loads(stringToUnserialize)
74
+ return data
75
+
76
+ class Callable:
77
+ """
78
+ This class is used to create class-method (see MetaData)
79
+ """
80
+ def __init__(self, anycallable):
81
+ self.__call__ = anycallable
82
+ #
83
+ # ==============================================================================
84
+ # Basic use cases and unit tests
85
+ # ==============================================================================
86
+ #
87
+
88
+ def TEST_serialization():
89
+ from .testdata import TestData
90
+ ref_name = "my study case"
91
+ studyData = TestData()
92
+ studyData.setName(ref_name)
93
+
94
+ print("serialize data ...")
95
+ serialString = serialize(studyData)
96
+ print("unserialize data ...")
97
+ unserialData = unserialize(serialString)
98
+
99
+ res_name = unserialData.getName()
100
+ print(res_name)
101
+ if ( ref_name != res_name ):
102
+ return False
103
+
104
+ unserialData.log()
105
+ unserialData.setName("an other name")
106
+
107
+ return True
108
+
109
+ if __name__ == "__main__":
110
+ from . import unittester
111
+ unittester.run("salome/kernel/__init__","TEST_serialization")
@@ -0,0 +1,363 @@
1
+ # -*- coding: iso-8859-1 -*-
2
+ # Copyright (C) 2010-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
+ ## \defgroup datamodeler datamodeler
22
+ # \{
23
+ # \details Helper for modeling user data
24
+ # \}
25
+
26
+ __author__="gboulant"
27
+ __date__ ="$15 avr. 2010 19:44:17$"
28
+
29
+ from .uiexception import DevelException
30
+
31
+ # Most usable class types
32
+ TypeString= "".__class__
33
+ __ref_integer = 0
34
+ TypeInteger = __ref_integer.__class__
35
+ __ref_double = 0.0
36
+ TypeDouble = __ref_double.__class__
37
+ __ref_list = []
38
+ TypeList = __ref_list.__class__
39
+ __ref_dict = {}
40
+ TypeDictionnary = __ref_dict.__class__
41
+
42
+ # There is no control to do for these attributes. They are attributes for the
43
+ # class management and not data of the model.
44
+ UNCHECKED_ATTRIBUTES = [
45
+ "_typemap",
46
+ "_rangemap",
47
+ "_defaultmap",
48
+ "_voidmap",
49
+ ]
50
+
51
+ ## This class is a placeholder for modeling data. An object based on this class
52
+ # (particular instance or specialized derived class) can defined attributes with
53
+ # the following properties:
54
+ # - a type : the class or the type of the attribute. Setting an attribute to
55
+ # a value whose type is not the specified type raises an exception.
56
+ # - a range : a list of the possible values for the attribute. Setting an
57
+ # attribute to a value not in the range raises an exception
58
+ # - a default: the default value of an attribute when an instance is created
59
+ # - a void flag: the attribute can be authorized to be None or not using this
60
+ # flag. Setting an attribute to a None value while the flag is not set to
61
+ # True raises an exception. By default, a None value is not allowed.
62
+ #
63
+ # These properties are dictionnaries mapping the attribute name to its
64
+ # associated value for the property.
65
+ # \n A typical usage is to derived this class in a specialized form where the
66
+ # attributes names and there properties are defined in the constructor. See
67
+ # use cases at the end of this file.
68
+ # \ingroup datamodeler
69
+ class DataModeler:
70
+ """
71
+ This class is a placeholder for modeling data. An object based on this class
72
+ (particular instance or specialized derived class) can defined attributes with
73
+ the following properties:
74
+
75
+ - a type : the class or the type of the attribute. Setting an attribute to
76
+ a value whose type is not the specified type raises an exception.
77
+ - a range : a list of the possible values for the attribute. Setting an
78
+ attribute to a value not in the range raises an exception
79
+ - a default: the default value of an attribute when an instance is created
80
+ - a void flag: the attribute can be authorized to be None or not using this
81
+ flag. Setting an attribute to a None value while the flag is not set to
82
+ True raises an exception. By default, a None value is not allowed.
83
+
84
+ These properties are dictionnaries mapping the attribute name to its
85
+ associated value for the property.
86
+
87
+ A typical usage is to derived this class in a specialized form where the
88
+ attributes names and there properties are defined in the constructor. See
89
+ use cases at the end of this file.
90
+
91
+ """
92
+ def __init__(self, typemap=None, rangemap=None, defaultmap=None, voidmap=None):
93
+ self._typemap = {}
94
+ self._rangemap = {} # possible values
95
+ self._defaultmap = {} # defaults values
96
+ self._voidmap = {} # None values are allowed
97
+
98
+ if typemap is not None:
99
+ self._typemap.update(typemap)
100
+ if rangemap is not None:
101
+ self._rangemap.update(rangemap)
102
+ if voidmap is not None:
103
+ self._voidmap.update(voidmap)
104
+
105
+ # Default initialization (if any)
106
+ if defaultmap is not None:
107
+ self._defaultmap.update(defaultmap)
108
+ for name in self._defaultmap:
109
+ self.__setattr__(name,self._defaultmap[name])
110
+
111
+ ## %A None argument means that no entry is created in the associated maps.
112
+ def addAttribute(self, name, a_type=None, a_range=None, default=None, void=None):
113
+ """
114
+ A None argument means that no entry is created in the associated maps.
115
+ """
116
+ self._typemap[name] = a_type
117
+
118
+ if a_range is not None:
119
+ self._rangemap[name] = a_range
120
+
121
+ if void is not None:
122
+ self._voidmap[name] = void
123
+
124
+ if (not void) and (default is None):
125
+ return
126
+
127
+ self.__setattr__(name,default)
128
+
129
+ def __setattr__(self, name, val):
130
+ if name in UNCHECKED_ATTRIBUTES:
131
+ object.__setattr__(self, name, val)
132
+ return
133
+
134
+ #__GBO_DEBUG_
135
+ if name == "_typemap":
136
+ print("WARNING WARNING WARNING : changing value of _typemap by ",val)
137
+
138
+ if name not in self._typemap:
139
+ raise DevelException("The class "+str(self.__class__)+" has no attribute "+str(name))
140
+
141
+ if val is None:
142
+ if not self.__isVoidAllowed(name):
143
+ raise DevelException("The attribute "+str(name)+" can't be None")
144
+ else:
145
+ # We can stop here and set the value to None
146
+ self.__dict__[name] = None
147
+ return
148
+
149
+ if self.__isNotValidType(name,val):
150
+ raise DevelException("The attribute "+str(name)+" must be an instance of "+str(self._typemap[name]))
151
+
152
+ if self.__isNotValidRange(name,val):
153
+ raise DevelException("The attribute "+str(name)+" must be a value in :"+str(self._rangemap[name]))
154
+
155
+ self.__dict__[name] = val
156
+
157
+ def __getattribute__(self, name):
158
+ if name in UNCHECKED_ATTRIBUTES:
159
+ return object.__getattribute__(self, name)
160
+
161
+ if name in DataModeler.__dict__:
162
+ return object.__getattribute__(self, name)
163
+
164
+ if name not in self._typemap:
165
+ raise DevelException("The class has no attribute "+str(name))
166
+ # The attribute coulb be requested while it has not been created yet (for
167
+ # example if we did't call the setter before).
168
+ if name not in self.__dict__.keys():
169
+ return None
170
+
171
+ return object.__getattribute__(self, name)
172
+
173
+ def __isNotValidType(self, name, val):
174
+ isNotValid = (
175
+ ( self._typemap[name] is not None) and
176
+ ( not isinstance(val,self._typemap[name]) ) )
177
+
178
+ return isNotValid
179
+
180
+ def __isNotValidRange(self, name, val):
181
+ isNotValid = (
182
+ ( self._rangemap is not None) and
183
+ ( name in self._rangemap ) and
184
+ ( self._rangemap[name] is not None ) and
185
+ ( val not in self._rangemap[name] ) )
186
+
187
+ return isNotValid
188
+
189
+ def __isVoidAllowed(self,name):
190
+ isVoidAllowed = (
191
+ ( self._voidmap is not None) and
192
+ ( name in self._voidmap ) and
193
+ ( self._voidmap[name] is True ) )
194
+
195
+ return isVoidAllowed
196
+
197
+ def log(self):
198
+ print("DATAMODELER ["+str(self.__class__)+"]: self._typemap.keys() = "+str(list(self._typemap.keys())))
199
+
200
+
201
+
202
+
203
+ #
204
+ # ==============================================================================
205
+ # Basic use cases and unit tests
206
+ # ==============================================================================
207
+ #
208
+ def TEST_usecase():
209
+ typemap={}
210
+ typemap["stringdata"] = TypeString
211
+ typemap["integerdata"] = TypeInteger
212
+ typemap["anydata"] = None # can be anything
213
+
214
+ data = DataModeler(typemap)
215
+
216
+ sdata = "toto"
217
+ idata = 3
218
+ data.stringdata = sdata
219
+ data.integerdata = idata
220
+
221
+ data.anydata = 5.3
222
+ data.anydata = "any value"
223
+ data.anydata = True
224
+
225
+ print(data.integerdata)
226
+ return True
227
+
228
+ def TEST_addAttribute():
229
+ typemap={}
230
+ typemap["stringdata"] = TypeString
231
+ typemap["integerdata"] = TypeInteger
232
+ data = DataModeler(typemap)
233
+ data.stringdata = "a string value"
234
+
235
+ ref_value = 1.3
236
+ data.addAttribute(
237
+ name = "myAttr",
238
+ a_type = TypeDouble,
239
+ a_range = None,
240
+ default = ref_value,
241
+ void = False)
242
+
243
+ try:
244
+ if data.myAttr != ref_value:
245
+ return False
246
+ data.myAttr = 5.3
247
+ #data.myAttr = 5
248
+ except Exception as e:
249
+ print(e)
250
+ return False
251
+
252
+ try:
253
+ data.myAttr = "bad type value"
254
+ return False
255
+ except Exception as e:
256
+ print(e)
257
+ return True
258
+
259
+ def TEST_badAttributeName():
260
+ map={}
261
+ map["stringdata"] = TypeString
262
+ map["integerdata"] = TypeInteger
263
+
264
+ data = DataModeler(map)
265
+
266
+ # this should raise an exception
267
+ try:
268
+ data.myatt = 3
269
+ return False
270
+ except Exception as e:
271
+ print("OK : "+str(e))
272
+ return True
273
+
274
+ def TEST_badAttributeType():
275
+ map={}
276
+ map["stringdata"] = TypeString
277
+ map["integerdata"] = TypeInteger
278
+
279
+ data = DataModeler(map)
280
+ # this should raise an exception
281
+ try:
282
+ data.stringdata = 2
283
+ return False
284
+ except Exception as e:
285
+ print("OK : "+str(e))
286
+ return True
287
+
288
+ def TEST_badAttributeRange():
289
+ map={}
290
+ map["stringdata"] = TypeString
291
+ map["integerdata"] = TypeInteger
292
+
293
+ range={}
294
+ ref_integervalue = 3
295
+ range["integerdata"] = [1,ref_integervalue,7]
296
+
297
+ data = DataModeler(map,range)
298
+ # this should not raise an exception
299
+ try:
300
+ data.integerdata = ref_integervalue
301
+ data.stringdata = "anything (no restriction has been defined)"
302
+ except Exception as e:
303
+ print(e)
304
+ return False
305
+
306
+ # this should raise an exception
307
+ try:
308
+ data.integerdata = 9999 # a value not in the range
309
+ return False
310
+ except Exception as e:
311
+ print(e)
312
+ return True
313
+
314
+ def TEST_voidAttributeAllowed():
315
+ map={}
316
+ map["stringdata"] = TypeString
317
+ map["integerdata"] = TypeInteger
318
+
319
+ voidmap={}
320
+ voidmap["stringdata"] = True
321
+
322
+ data = DataModeler(typemap=map,voidmap=voidmap)
323
+ try:
324
+ # this should not raise an exception
325
+ data.stringdata = None
326
+ print(data.stringdata)
327
+ except Exception as e:
328
+ print(e)
329
+ return False
330
+
331
+ try:
332
+ # this should raise an exception
333
+ data.integerdata = None
334
+ return False
335
+ except Exception as e:
336
+ print(e)
337
+ return True
338
+
339
+ def TEST_defaultValues():
340
+ typemap={}
341
+ typemap["stringdata"] = TypeString
342
+ typemap["integerdata"] = TypeInteger
343
+
344
+ ref_value = "my initial value"
345
+ defaultmap={}
346
+ defaultmap["stringdata"] = ref_value
347
+
348
+ data = DataModeler(typemap=typemap,defaultmap=defaultmap)
349
+ print(data.stringdata)
350
+ if data.stringdata != ref_value:
351
+ return False
352
+ else:
353
+ return True
354
+
355
+ if __name__ == "__main__":
356
+ from .unittester import run
357
+ run("salome/kernel/datamodeler","TEST_usecase")
358
+ run("salome/kernel/datamodeler","TEST_addAttribute")
359
+ run("salome/kernel/datamodeler","TEST_badAttributeName")
360
+ run("salome/kernel/datamodeler","TEST_badAttributeType")
361
+ run("salome/kernel/datamodeler","TEST_badAttributeRange")
362
+ run("salome/kernel/datamodeler","TEST_voidAttributeAllowed")
363
+ run("salome/kernel/datamodeler","TEST_defaultValues")
@@ -0,0 +1,165 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
+ #
19
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20
+ #
21
+
22
+ ## \defgroup deprecation deprecation
23
+ # \{
24
+ # \details
25
+ # This module provides several functions to indicate the deprecation of a
26
+ # module, a method or a function.
27
+ # \code
28
+ # from salome.kernel.deprecation import deprecated
29
+ # deprecated("Deprecated since version 6.3.0. Consider replacement with
30
+ # newFunction()")
31
+ # def oldFunction():
32
+ # ...
33
+ # \endcode
34
+ # \}
35
+
36
+ """
37
+ This module provides several functions to indicate the deprecation of a
38
+ module, a method or a function.
39
+
40
+ Example::
41
+
42
+ from salome.kernel.deprecation import deprecated
43
+
44
+ @deprecated("Deprecated since version 6.3.0. Consider replacement with "
45
+ "newFunction()")
46
+ def oldFunction():
47
+ ...
48
+
49
+ """
50
+
51
+ import sys
52
+ import warnings
53
+ import inspect
54
+ import os
55
+
56
+ from salome.kernel.salome.kernel import termcolor
57
+
58
+ msg_seedoc = "See documentation for possible replacements."
59
+
60
+ def __deprecated_with_msg(func, msg):
61
+
62
+ def new_func(*args, **kwargs):
63
+ if len(inspect.stack()) > 1:
64
+ callingfunc = inspect.stack()[1][3]
65
+ else:
66
+ callingfunc = "CORBA middleware"
67
+ warnings.warn(
68
+ ("Call to deprecated function %(funcname)s of module " +
69
+ "%(modname)s (called from %(callingfunc)s).\n %(msg)s") % {
70
+ 'funcname': func.__name__,
71
+ 'modname': func.__module__,
72
+ 'callingfunc': callingfunc,
73
+ 'msg': msg,
74
+ },
75
+ category = DeprecationWarning,
76
+ stacklevel = 2
77
+ )
78
+ return func(*args, **kwargs)
79
+ return new_func
80
+
81
+ ## This is a decorator which can be used to mark functions
82
+ # as deprecated. It will result in a warning being emitted
83
+ # when the function is used. The message in parameter will
84
+ # be displayed and should indicate how this function can be
85
+ # replaced. If the terminal can display colors, the warning
86
+ # messages will appear in blue.
87
+ # \ingroup deprecation
88
+ def deprecated(msg = msg_seedoc):
89
+ """
90
+ This is a decorator which can be used to mark functions
91
+ as deprecated. It will result in a warning being emitted
92
+ when the function is used. The message in parameter will
93
+ be displayed and should indicate how this function can be
94
+ replaced. If the terminal can display colors, the warning
95
+ messages will appear in blue.
96
+ """
97
+ def make_dep(f):
98
+ if is_called_by_sphinx():
99
+ return f
100
+ else:
101
+ g = __deprecated_with_msg(f, msg)
102
+ g.__name__ = f.__name__
103
+ g.__doc__ = f.__doc__
104
+ g.__dict__.update(f.__dict__)
105
+ return g
106
+ return make_dep
107
+
108
+ ## This function can be used to mark a module as deprecated.
109
+ # It must be called explicitly at the beginning of the deprecated
110
+ # module. It will result in a warning being emitted. The message
111
+ # in parameter will be displayed and should indicate how this
112
+ # module can be replaced. If the terminal can display colors,
113
+ # the warning messages will appear in blue.
114
+ # \ingroup deprecation
115
+ def deprecated_module(msg = msg_seedoc):
116
+ """
117
+ This function can be used to mark a module as deprecated.
118
+ It must be called explicitly at the beginning of the deprecated
119
+ module. It will result in a warning being emitted. The message
120
+ in parameter will be displayed and should indicate how this
121
+ module can be replaced. If the terminal can display colors,
122
+ the warning messages will appear in blue.
123
+ """
124
+ if not is_called_by_sphinx():
125
+ warnings.warn(
126
+ "Importation of deprecated module %(modname)s.\n %(msg)s" % {
127
+ 'modname': inspect.getmodulename(inspect.stack()[1][1]),
128
+ 'msg': msg,
129
+ },
130
+ category = DeprecationWarning,
131
+ stacklevel = 5
132
+ )
133
+
134
+ ## Determine if the calling code is ultimately called by sphinx to generate
135
+ # documentation. The result can be used to conditionally inhibit the
136
+ # decorators or some Salome-related imports that fail when called outside
137
+ # Salome.
138
+ # \ingroup deprecation
139
+ def is_called_by_sphinx():
140
+ """
141
+ Determine if the calling code is ultimately called by sphinx to generate
142
+ documentation. The result can be used to conditionally inhibit the
143
+ decorators or some Salome-related imports that fail when called outside
144
+ Salome.
145
+ """
146
+ calling_file = inspect.stack()[len(inspect.stack())-1][1]
147
+ basename = os.path.basename(calling_file)
148
+ return (basename == "sphinx-build")
149
+
150
+
151
+ def __show_colored_warning(message, category, filename,
152
+ lineno, file = None, line = None):
153
+ if file is None:
154
+ file = sys.stderr
155
+ str = warnings.formatwarning(message, category, filename, lineno, line)
156
+ if category == DeprecationWarning and termcolor.canDisplayColor(file):
157
+ file.write(termcolor.makeColoredMessage(str, termcolor.BLUE))
158
+ else:
159
+ file.write(str)
160
+
161
+ # Enable warnings for deprecated functions and modules (in Python 2.7, they
162
+ # are disabled by default)
163
+ warnings.filterwarnings("always", "Call to *", DeprecationWarning)
164
+ warnings.filterwarnings("always", "Importation of *", DeprecationWarning)
165
+ warnings.showwarning = __show_colored_warning