salome.kernel 9.14.0__cp37-cp37m-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of salome.kernel might be problematic. Click here for more details.
- salome/bin/salome/IDLparser.py +882 -0
- salome/bin/salome/KernelHelpersUseCases +0 -0
- salome/bin/salome/NSparam.py +51 -0
- salome/bin/salome/ORBConfigFile.py +55 -0
- salome/bin/salome/SALOMEDS_Client +0 -0
- salome/bin/salome/SALOMEDS_Server +0 -0
- salome/bin/salome/SALOME_ConnectionManagerServer +0 -0
- salome/bin/salome/SALOME_Container +0 -0
- salome/bin/salome/SALOME_ContainerPy.py +397 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv +0 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess +0 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_FT +0 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay +0 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay_FT +0 -0
- salome/bin/salome/SALOME_DataScopeServer +0 -0
- salome/bin/salome/SALOME_DataScopeServer_SSL +0 -0
- salome/bin/salome/SALOME_LauncherServer +0 -0
- salome/bin/salome/SALOME_Logger_Server +0 -0
- salome/bin/salome/SALOME_ModuleCatalog_Client +0 -0
- salome/bin/salome/SALOME_ModuleCatalog_Server +0 -0
- salome/bin/salome/SALOME_Registry_Server +0 -0
- salome/bin/salome/TestComponentPy.py +71 -0
- salome/bin/salome/TestContainer +0 -0
- salome/bin/salome/TestContainerManager +0 -0
- salome/bin/salome/TestLauncher +0 -0
- salome/bin/salome/TestLifeCycleCORBA.py +89 -0
- salome/bin/salome/TestLogger +0 -0
- salome/bin/salome/TestLogger.py +27 -0
- salome/bin/salome/TestModuleCatalog.py +87 -0
- salome/bin/salome/Test_LifeCycleCORBA +0 -0
- salome/bin/salome/VERSION +3 -0
- salome/bin/salome/addToKillList.py +35 -0
- salome/bin/salome/app-quickstart.py +288 -0
- salome/bin/salome/appli/.bashrc +50 -0
- salome/bin/salome/appli/extra.env.d/001.py +39 -0
- salome/bin/salome/appli/python_test_driver.py +148 -0
- salome/bin/salome/appli/salome +193 -0
- salome/bin/salome/appli/salome_instance.py +31 -0
- salome/bin/salome/appli/salome_test_driver.py +150 -0
- salome/bin/salome/appli/salome_test_driver_gui.py +82 -0
- salome/bin/salome/appli_clean.sh +53 -0
- salome/bin/salome/appli_gen.py +606 -0
- salome/bin/salome/dummyexe_loggerTraceCollector +0 -0
- salome/bin/salome/envSalome.py +59 -0
- salome/bin/salome/killSalome.py +48 -0
- salome/bin/salome/killSalomeWithPort.py +56 -0
- salome/bin/salome/prepare_generating_doc.py +104 -0
- salome/bin/salome/pythonpath_reduction.py +184 -0
- salome/bin/salome/runConsole.py +39 -0
- salome/bin/salome/runIDLparser +58 -0
- salome/bin/salome/runRemote.py +101 -0
- salome/bin/salome/runSalome.py +30 -0
- salome/bin/salome/runSalomeNoServer.py +24 -0
- salome/bin/salome/runSalomeOld.py +36 -0
- salome/bin/salome/runSalomeOnDemand.py +41 -0
- salome/bin/salome/salomeContext.py +36 -0
- salome/bin/salome/salome_process_attach +44 -0
- salome/bin/salome/salome_process_launcher +58 -0
- salome/bin/salome/setenv.py +32 -0
- salome/bin/salome/showNS.py +33 -0
- salome/bin/salome/test/kernel/ArgvKeeper/CTestTestfile.cmake +31 -0
- salome/bin/salome/test/kernel/ArgvKeeper/TestArgvKeeper +0 -0
- salome/bin/salome/test/kernel/ArgvKeeper/test_ArgvKeeper.py +34 -0
- salome/bin/salome/test/kernel/CTestTestfile.cmake +49 -0
- salome/bin/salome/test/kernel/Container/CTestTestfile.cmake +29 -0
- salome/bin/salome/test/kernel/Container/testProxy.py +291 -0
- salome/bin/salome/test/kernel/Container/testcontainer.py +106 -0
- salome/bin/salome/test/kernel/KernelHelpers/CTestTestfile.cmake +31 -0
- salome/bin/salome/test/kernel/KernelHelpers/KernelHelpersUnitTests.hxx +58 -0
- salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers +0 -0
- salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers.py +55 -0
- salome/bin/salome/test/kernel/Launcher/CTestTestfile.cmake +43 -0
- salome/bin/salome/test/kernel/Launcher/TestSSLAttached.py +110 -0
- salome/bin/salome/test/kernel/Launcher/launcher_use_case.py +65 -0
- salome/bin/salome/test/kernel/Launcher/testCrashProofContainer.py +423 -0
- salome/bin/salome/test/kernel/Launcher/testPerfLogManager1.py +382 -0
- salome/bin/salome/test/kernel/Launcher/test_launcher.py +674 -0
- salome/bin/salome/test/kernel/Launcher/test_stress.sh +45 -0
- salome/bin/salome/test/kernel/Launcher_SWIG/CTestTestfile.cmake +30 -0
- salome/bin/salome/test/kernel/Launcher_SWIG/test_swig_launcher.py +706 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA/LifeCycleCORBATest.hxx +105 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA +0 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA.py +93 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CTestTestfile.cmake +40 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CatalogResources_resource.xml +15 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/LifeCycleCORBA_SWIGTest.py +217 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/SALOME_TestComponentPy.py +49 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/TestLifeCycleCORBA_SWIG.py +100 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testcontainermanager.py +88 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testresourcemanager.py +155 -0
- salome/bin/salome/test/kernel/NamingService/CTestTestfile.cmake +28 -0
- salome/bin/salome/test/kernel/NamingService/NamingServiceTest.hxx +169 -0
- salome/bin/salome/test/kernel/NamingService/TestNamingService +0 -0
- salome/bin/salome/test/kernel/NamingService/TestNamingService.py +64 -0
- salome/bin/salome/test/kernel/SALOMEDS/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/SALOMEDS/SALOMEDSTest.hxx +192 -0
- salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS +0 -0
- salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS.py +55 -0
- salome/bin/salome/test/kernel/SALOMEDSImpl/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/SALOMEDSImpl/SALOMEDSImplTest.hxx +51 -0
- salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl +0 -0
- salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl.py +55 -0
- salome/bin/salome/test/kernel/SALOMELocalTrace/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/SALOMELocalTrace/SALOMELocalTraceTest.hxx +59 -0
- salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace +0 -0
- salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace.py +40 -0
- salome/bin/salome/test/kernel/SALOMETraceCollector/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/SALOMETraceCollector/SALOMETraceCollectorTest.hxx +51 -0
- salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector +0 -0
- salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector.py +57 -0
- salome/bin/salome/test/kernel/UnitTests/CTestTestfile.cmake +28 -0
- salome/bin/salome/test/kernel/UnitTests/UnitTests +0 -0
- salome/bin/salome/test/kernel/UnitTests/UnitTests.py +89 -0
- salome/bin/salome/test/kernel/Utils/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/Utils/TestUtils +0 -0
- salome/bin/salome/test/kernel/Utils/TestUtils.py +55 -0
- salome/bin/salome/test/kernel/Utils/UtilsTest.hxx +58 -0
- salome/bin/salome/test/kernel/lib/libLifeCycleCORBATest.so +0 -0
- salome/bin/salome/test/kernel/lib/libNamingServiceTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSALOMEDSImplTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSALOMEDSTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSALOMELocalTraceTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSALOMETraceCollectorTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSalomeKernelHelpersTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libUtilsTest.so +0 -0
- salome/bin/salome/testDF +0 -0
- salome/bin/salome/testDS +0 -0
- salome/bin/salome/virtual_salome.py +38 -0
- salome/bin/salome/waitContainers.py +82 -0
- salome/bin/salome/waitNS.py +31 -0
- salome/kernel/ArgvKeeper.py +132 -0
- salome/kernel/Calcium_Ports_idl.py +645 -0
- salome/kernel/DSC_Engines_idl.py +443 -0
- salome/kernel/Engines/__init__.py +24 -0
- salome/kernel/Engines__POA/__init__.py +24 -0
- salome/kernel/Help.py +141 -0
- salome/kernel/KernelBasis.py +463 -0
- salome/kernel/KernelContainer.py +81 -0
- salome/kernel/KernelDS.py +87 -0
- salome/kernel/KernelLauncher.py +117 -0
- salome/kernel/KernelLogger.py +75 -0
- salome/kernel/KernelModuleCatalog.py +76 -0
- salome/kernel/KernelSDS.py +92 -0
- salome/kernel/KernelServices.py +105 -0
- salome/kernel/LifeCycleCORBA.py +92 -0
- salome/kernel/Logger_idl.py +89 -0
- salome/kernel/NSTEST/__init__.py +13 -0
- salome/kernel/NSTEST__POA/__init__.py +13 -0
- salome/kernel/NSparam_impl.py +50 -0
- salome/kernel/NamingService.py +365 -0
- salome/kernel/ORBConfigFile_impl.py +102 -0
- salome/kernel/Palm_Ports_idl.py +162 -0
- salome/kernel/PortManager.py +259 -0
- salome/kernel/Ports/Calcium_Ports/__init__.py +13 -0
- salome/kernel/Ports/Palm_Ports/__init__.py +13 -0
- salome/kernel/Ports/__init__.py +18 -0
- salome/kernel/Ports__POA/Calcium_Ports/__init__.py +13 -0
- salome/kernel/Ports__POA/Palm_Ports/__init__.py +13 -0
- salome/kernel/Ports__POA/__init__.py +18 -0
- salome/kernel/PyInterp.py +99 -0
- salome/kernel/Registry/__init__.py +13 -0
- salome/kernel/Registry__POA/__init__.py +13 -0
- salome/kernel/SALOME/__init__.py +19 -0
- salome/kernel/SALOMEDS/__init__.py +14 -0
- salome/kernel/SALOMEDS_Attributes_idl.py +2288 -0
- salome/kernel/SALOMEDS__POA/__init__.py +14 -0
- salome/kernel/SALOMEDS_idl.py +1590 -0
- salome/kernel/SALOMEWrappedStdType.py +383 -0
- salome/kernel/SALOME_Comm_idl.py +1045 -0
- salome/kernel/SALOME_CommonTypes_idl.py +69 -0
- salome/kernel/SALOME_ComponentPy.py +338 -0
- salome/kernel/SALOME_Component_idl.py +962 -0
- salome/kernel/SALOME_Container.py +242 -0
- salome/kernel/SALOME_ContainerHelper.py +840 -0
- salome/kernel/SALOME_ContainerManager_idl.py +236 -0
- salome/kernel/SALOME_DriverPy.py +86 -0
- salome/kernel/SALOME_Embedded_NamingService.py +41 -0
- salome/kernel/SALOME_Embedded_NamingService_ClientPy.py +59 -0
- salome/kernel/SALOME_Embedded_NamingService_idl.py +125 -0
- salome/kernel/SALOME_Exception_idl.py +75 -0
- salome/kernel/SALOME_ExternalServerLauncher_idl.py +199 -0
- salome/kernel/SALOME_GenericObj_idl.py +154 -0
- salome/kernel/SALOME_GlobalsImpl.py +38 -0
- salome/kernel/SALOME_Launcher_idl.py +327 -0
- salome/kernel/SALOME_Locker_idl.py +185 -0
- salome/kernel/SALOME_LogManager.py +103 -0
- salome/kernel/SALOME_LogManager_idl.py +348 -0
- salome/kernel/SALOME_Logger/__init__.py +13 -0
- salome/kernel/SALOME_Logger__POA/__init__.py +13 -0
- salome/kernel/SALOME_MPIObject_idl.py +100 -0
- salome/kernel/SALOME_ModuleCatalog/__init__.py +13 -0
- salome/kernel/SALOME_ModuleCatalog__POA/__init__.py +13 -0
- salome/kernel/SALOME_ModuleCatalog_idl.py +624 -0
- salome/kernel/SALOME_NamingServicePy.py +313 -0
- salome/kernel/SALOME_PACOExtension_idl.py +292 -0
- salome/kernel/SALOME_ParamPorts_idl.py +102 -0
- salome/kernel/SALOME_Parametric_idl.py +154 -0
- salome/kernel/SALOME_Ports_idl.py +347 -0
- salome/kernel/SALOME_PyNode.py +1557 -0
- salome/kernel/SALOME_PyNode_idl.py +387 -0
- salome/kernel/SALOME_Registry_idl.py +155 -0
- salome/kernel/SALOME_ResourcesManager_idl.py +215 -0
- salome/kernel/SALOME_SDS_idl.py +1181 -0
- salome/kernel/SALOME_Session_idl.py +214 -0
- salome/kernel/SALOME_TYPES/__init__.py +14 -0
- salome/kernel/SALOME_TYPES__POA/__init__.py +14 -0
- salome/kernel/SALOME_TestComponent_idl.py +121 -0
- salome/kernel/SALOME_TestModuleCatalog/__init__.py +13 -0
- salome/kernel/SALOME_TestModuleCatalog__POA/__init__.py +13 -0
- salome/kernel/SALOME_TestModuleCatalog_idl.py +194 -0
- salome/kernel/SALOME_Trace.py +96 -0
- salome/kernel/SALOME_Types_idl.py +81 -0
- salome/kernel/SALOME__POA/__init__.py +19 -0
- salome/kernel/SALOME_utilities.py +63 -0
- salome/kernel/SalomeSDSClt.py +552 -0
- salome/kernel/TestKiller.py +76 -0
- salome/kernel/Utils_Identity.py +93 -0
- salome/kernel/_ArgvKeeper.so +0 -0
- salome/kernel/_KernelBasis.so +0 -0
- salome/kernel/_KernelContainer.so +0 -0
- salome/kernel/_KernelDS.so +0 -0
- salome/kernel/_KernelLauncher.so +0 -0
- salome/kernel/_KernelLogger.so +0 -0
- salome/kernel/_KernelModuleCatalog.so +0 -0
- salome/kernel/_KernelSDS.so +0 -0
- salome/kernel/_KernelServices.so +0 -0
- salome/kernel/_NamingService.so +0 -0
- salome/kernel/_calcium.so +0 -0
- salome/kernel/_libNOTIFICATION.so +0 -0
- salome/kernel/_libSALOME_Comm.so +0 -0
- salome/kernel/_libSALOME_LifeCycleCORBA.so +0 -0
- salome/kernel/_pylauncher.so +0 -0
- salome/kernel/addToKillList_impl.py +127 -0
- salome/kernel/batchmode_salome.py +295 -0
- salome/kernel/calcium.py +866 -0
- salome/kernel/dsccalcium.py +98 -0
- salome/kernel/iparameters.py +255 -0
- salome/kernel/kernel_test.py +114 -0
- salome/kernel/killSalomeWithPort_impl.py +518 -0
- salome/kernel/killSalome_impl.py +94 -0
- salome/kernel/launchConfigureParser.py +1234 -0
- salome/kernel/launcher_proxy.py +122 -0
- salome/kernel/libNOTIFICATION.py +119 -0
- salome/kernel/libSALOME_Comm.py +85 -0
- salome/kernel/libSALOME_LifeCycleCORBA.py +232 -0
- salome/kernel/main.py +8 -0
- salome/kernel/nameserver.py +134 -0
- salome/kernel/nstest_idl.py +129 -0
- salome/kernel/omnipatch.py +136 -0
- salome/kernel/orbmodule.py +246 -0
- salome/kernel/parseConfigFile.py +261 -0
- salome/kernel/pylauncher.py +883 -0
- salome/kernel/runConsole_impl.py +224 -0
- salome/kernel/runSalomeCommon.py +418 -0
- salome/kernel/runSalomeNoServer_impl.py +48 -0
- salome/kernel/runSalomeOld_impl.py +603 -0
- salome/kernel/runSalomeOnDemand_impl.py +72 -0
- salome/kernel/runSalome_impl.py +341 -0
- salome/kernel/runSession.py +360 -0
- salome/kernel/runTests.py +90 -0
- salome/kernel/salome/__init__.py +646 -0
- salome/kernel/salome/kernel/__init__.py +111 -0
- salome/kernel/salome/kernel/datamodeler.py +363 -0
- salome/kernel/salome/kernel/deprecation.py +165 -0
- salome/kernel/salome/kernel/diclookup.py +137 -0
- salome/kernel/salome/kernel/enumerate.py +232 -0
- salome/kernel/salome/kernel/logconfig.py +27 -0
- salome/kernel/salome/kernel/logger.py +290 -0
- salome/kernel/salome/kernel/parametric/__init__.py +26 -0
- salome/kernel/salome/kernel/parametric/compo_utils.py +137 -0
- salome/kernel/salome/kernel/parametric/pyscript_utils.py +135 -0
- salome/kernel/salome/kernel/parametric/study_exchange_vars.py +285 -0
- salome/kernel/salome/kernel/pyunittester.py +184 -0
- salome/kernel/salome/kernel/services.py +267 -0
- salome/kernel/salome/kernel/studyedit.py +637 -0
- salome/kernel/salome/kernel/syshelper.py +116 -0
- salome/kernel/salome/kernel/termcolor.py +239 -0
- salome/kernel/salome/kernel/testdata.py +159 -0
- salome/kernel/salome/kernel/threadhelper.py +385 -0
- salome/kernel/salome/kernel/uiexception.py +121 -0
- salome/kernel/salome/kernel/unittester.py +89 -0
- salome/kernel/salomeContextUtils.py +353 -0
- salome/kernel/salomeContext_impl.py +731 -0
- salome/kernel/salome_ComponentGUI.py +92 -0
- salome/kernel/salome_genericobj.py +44 -0
- salome/kernel/salome_iapp.py +206 -0
- salome/kernel/salome_instance_impl.py +109 -0
- salome/kernel/salome_kernel_utils.py +88 -0
- salome/kernel/salome_notebook.py +183 -0
- salome/kernel/salome_psutil.py +94 -0
- salome/kernel/salome_pynode.py +74 -0
- salome/kernel/salome_study.py +347 -0
- salome/kernel/salome_test.py +56 -0
- salome/kernel/salome_utils.py +563 -0
- salome/kernel/salome_version.py +164 -0
- salome/kernel/searchFreePort.py +130 -0
- salome/kernel/server.py +154 -0
- salome/kernel/setenv_impl.py +240 -0
- salome/kernel/version_and_config.py +24 -0
- salome/share/salome/resources/kernel/Anita semi square.ttf +0 -0
- salome/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
- salome/share/salome/resources/kernel/CatalogResources.xml +4 -0
- salome/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
- salome/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
- salome/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
- salome/share/salome/resources/kernel/app-template/LICENCE +504 -0
- salome/share/salome/resources/kernel/app-template/README +0 -0
- salome/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
- salome/share/salome/resources/kernel/app-template/doc/README +1 -0
- salome/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
- salome/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
- salome/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
- salome/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
- salome/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
- salome/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
- salome/share/salome/resources/kernel/app-template/resources/about.png +0 -0
- salome/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
- salome/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
- salome/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
- salome/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
- salome/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
- salome/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
- salome/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
- salome/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
- salome/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
- salome/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
- salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
- salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
- salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
- salome/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
- salome/share/salome/resources/kernel/app-template/src/tests/README +1 -0
- salome/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
- salome/share/salome/resources/kernel/background.png +0 -0
- salome/share/salome/resources/kernel/channel.cfg +278 -0
- salome/share/salome/resources/kernel/testLauncher.xml +10 -0
- salome.kernel-9.14.0.dist-info/METADATA +24 -0
- salome.kernel-9.14.0.dist-info/RECORD +399 -0
- salome.kernel-9.14.0.dist-info/WHEEL +6 -0
- salome.kernel-9.14.0.dist-info/entry_points.txt +2 -0
- salome.kernel.libs/libArgvKeeper-822351d5.so +0 -0
- salome.kernel.libs/libCOS4-b4544fb9.so.2.5 +0 -0
- salome.kernel.libs/libCOSDynamic4-618dbb1d.so.2.5 +0 -0
- salome.kernel.libs/libCalciumC-a61b99a1.so +0 -0
- salome.kernel.libs/libDF-281cc999.so +0 -0
- salome.kernel.libs/libLauncher-09c39914.so +0 -0
- salome.kernel.libs/libLauncherWrapHelper-5ee25ab2.so +0 -0
- salome.kernel.libs/libOpUtil-8d37ccc8.so +0 -0
- salome.kernel.libs/libRegistry-e4a63a9e.so +0 -0
- salome.kernel.libs/libResourcesManager-f4ef9548.so +0 -0
- salome.kernel.libs/libSALOMEBasics-f4d874ac.so +0 -0
- salome.kernel.libs/libSALOMELocalTrace-a3992e5b.so +0 -0
- salome.kernel.libs/libSALOMELog-55805468.so +0 -0
- salome.kernel.libs/libSalomeCalcium-6800d8d0.so +0 -0
- salome.kernel.libs/libSalomeCatalog-96c5b2bc.so +0 -0
- salome.kernel.libs/libSalomeCommunication-451307b4.so +0 -0
- salome.kernel.libs/libSalomeContainer-d1a25367.so +0 -0
- salome.kernel.libs/libSalomeContainerServer-372d46c2.so +0 -0
- salome.kernel.libs/libSalomeDS-34cd5abf.so +0 -0
- salome.kernel.libs/libSalomeDSCContainer-ee0cf498.so +0 -0
- salome.kernel.libs/libSalomeDSCSuperv-f529bca5.so +0 -0
- salome.kernel.libs/libSalomeDSCSupervBasic-e6a3b4cf.so +0 -0
- salome.kernel.libs/libSalomeDSClient-dc9947bb.so +0 -0
- salome.kernel.libs/libSalomeDSImpl-cb508584.so +0 -0
- salome.kernel.libs/libSalomeDatastream-755ff3cb.so +0 -0
- salome.kernel.libs/libSalomeGenericObj-3ccf0028.so +0 -0
- salome.kernel.libs/libSalomeHDFPersist-69945ed0.so +0 -0
- salome.kernel.libs/libSalomeIDLKernel-2eb1ed8e.so +0 -0
- salome.kernel.libs/libSalomeKernelHelpers-1514c9e0.so +0 -0
- salome.kernel.libs/libSalomeLauncher-6d57b2ba.so +0 -0
- salome.kernel.libs/libSalomeLifeCycleCORBA-69902a7b.so +0 -0
- salome.kernel.libs/libSalomeLoggerServer-3668e9ae.so +0 -0
- salome.kernel.libs/libSalomeNS-a03a7eba.so +0 -0
- salome.kernel.libs/libSalomeNotification-66efcfbd.so +0 -0
- salome.kernel.libs/libSalomeORB-f304f4df.so +0 -0
- salome.kernel.libs/libSalomePalm-4204405e.so +0 -0
- salome.kernel.libs/libSalomeResourcesManager-fd411949.so +0 -0
- salome.kernel.libs/libSalomeSDS-7822101d.so +0 -0
- salome.kernel.libs/libSalomeTestComponentEngine-9899af25.so +0 -0
- salome.kernel.libs/libTOOLSDS-db8e8629.so +0 -0
- salome.kernel.libs/libbatch-6b5b319f.so +0 -0
- salome.kernel.libs/libboost_atomic-489c2d94.so.1.81.0 +0 -0
- salome.kernel.libs/libboost_filesystem-e610b554.so.1.81.0 +0 -0
- salome.kernel.libs/libboost_system-4a7650ea.so.1.81.0 +0 -0
- salome.kernel.libs/libcppunit-1-17e77af1.12.so.1.0.0 +0 -0
- salome.kernel.libs/libhdf5-60e81d69.so.103.0.0 +0 -0
- salome.kernel.libs/liblzma-004595ca.so.5.2.2 +0 -0
- salome.kernel.libs/libomniDynamic4-9edc765d.so.2.5 +0 -0
- salome.kernel.libs/libomniORB4-4725824d.so.2.5 +0 -0
- salome.kernel.libs/libomnithread-99f9d0d3.so.4.1 +0 -0
- salome.kernel.libs/libwith_loggerTraceCollector-6b94c51b.so +0 -0
- salome.kernel.libs/libwith_loggerTraceCollector.so +0 -0
- salome.kernel.libs/libxml2-3998bec4.so.2.9.1 +0 -0
|
@@ -0,0 +1,385 @@
|
|
|
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
|
+
__author__="gboulant"
|
|
25
|
+
__date__ ="$1 avr. 2010 18:12:38$"
|
|
26
|
+
|
|
27
|
+
import time
|
|
28
|
+
import threading
|
|
29
|
+
|
|
30
|
+
# ===========================================================================
|
|
31
|
+
class Runner(threading.Thread):
|
|
32
|
+
"""
|
|
33
|
+
This class provides a tool to run and drive a function in a dedicated thread.
|
|
34
|
+
"""
|
|
35
|
+
def __init__(self, functionToRun=None,*argv):
|
|
36
|
+
threading.Thread.__init__( self )
|
|
37
|
+
self._stopevent = threading.Event()
|
|
38
|
+
self.setFunction(functionToRun)
|
|
39
|
+
self.setArguments(*argv)
|
|
40
|
+
self._exception = None
|
|
41
|
+
self._return = None
|
|
42
|
+
self._observer = None
|
|
43
|
+
self._callbackFunction = None
|
|
44
|
+
# We create an id from the name and the time date in milliseconds
|
|
45
|
+
self._id = functionToRun.__name__ +"/"+ str(time.time())
|
|
46
|
+
|
|
47
|
+
def setFunction(self,functionToRun):
|
|
48
|
+
"""
|
|
49
|
+
Positionne la fonction � ex�cuter. La fonction peut �tre la
|
|
50
|
+
m�thode d'un objet pass�e sous la forme 'monobjet.mamethode'.
|
|
51
|
+
"""
|
|
52
|
+
self.clear()
|
|
53
|
+
self._function = functionToRun
|
|
54
|
+
|
|
55
|
+
def setArguments(self,*argv):
|
|
56
|
+
"""
|
|
57
|
+
Positionne les arguments � passer � la fonction
|
|
58
|
+
"""
|
|
59
|
+
self.clear()
|
|
60
|
+
self._argv = argv
|
|
61
|
+
|
|
62
|
+
def getReturn(self):
|
|
63
|
+
"""
|
|
64
|
+
Retourne le resultat de la fonction. En cas d'erreur, on
|
|
65
|
+
r�cup�rera l'exception lev�e au moyen de la m�thode
|
|
66
|
+
getException().
|
|
67
|
+
"""
|
|
68
|
+
return self._return
|
|
69
|
+
|
|
70
|
+
def setCallbackFunction(self, callbackFunction):
|
|
71
|
+
self._callbackFunction = callbackFunction
|
|
72
|
+
|
|
73
|
+
def setObserver(self, observerToNotify):
|
|
74
|
+
"""
|
|
75
|
+
Permet de sp�cifier un observateur � notifier en fin
|
|
76
|
+
d'ex�cution. L'observateur est suppos� �tre un objet qui
|
|
77
|
+
impl�mente une m�thode processNotification()
|
|
78
|
+
"""
|
|
79
|
+
try:
|
|
80
|
+
observerToNotify.processNotification
|
|
81
|
+
except AttributeError:
|
|
82
|
+
raise DevelException("The observer should implement the method processNotification()")
|
|
83
|
+
|
|
84
|
+
self._observer = observerToNotify
|
|
85
|
+
|
|
86
|
+
def run(self):
|
|
87
|
+
"""
|
|
88
|
+
Ex�cution de la fonction. Impl�mentation de la m�thode run
|
|
89
|
+
d�clench�e par l'appel � Thread.start().
|
|
90
|
+
"""
|
|
91
|
+
print("##################### threadhelper.run")
|
|
92
|
+
if self._function is None: return
|
|
93
|
+
try:
|
|
94
|
+
self._return = self._function(*self._argv)
|
|
95
|
+
except Exception as e:
|
|
96
|
+
print(e)
|
|
97
|
+
self._exception = e
|
|
98
|
+
self._stopevent.set()
|
|
99
|
+
self.notifyObserver()
|
|
100
|
+
self.callback()
|
|
101
|
+
# _GBO_ Maybe it's no use to have both observers and a callback function.
|
|
102
|
+
# One of the two mechanism should be sufficient
|
|
103
|
+
|
|
104
|
+
def notifyObserver(self):
|
|
105
|
+
if self._observer is None:
|
|
106
|
+
# Aucune notification pr�vue
|
|
107
|
+
return
|
|
108
|
+
try:
|
|
109
|
+
self._observer.processNotification()
|
|
110
|
+
except AttributeError as att:
|
|
111
|
+
if str(att) == "processNotification":
|
|
112
|
+
print("L'observateur n'impl�mente pas la m�thode processNotification()")
|
|
113
|
+
else:
|
|
114
|
+
print("La fonction processNotification() a lev� une exception:")
|
|
115
|
+
print(att)
|
|
116
|
+
except Exception as e:
|
|
117
|
+
print("La fonction processNotification() a lev� une exception:")
|
|
118
|
+
print(e)
|
|
119
|
+
|
|
120
|
+
def callback(self):
|
|
121
|
+
if self._callbackFunction is None: return
|
|
122
|
+
self._callbackFunction()
|
|
123
|
+
|
|
124
|
+
def isEnded(self):
|
|
125
|
+
"""
|
|
126
|
+
Retourne true si la fonction s'est termin�e naturellement
|
|
127
|
+
(correctement ou en erreur). Utile pour les client qui
|
|
128
|
+
pratique le pooling (interrogation r�p�t�e � intervalle
|
|
129
|
+
r�gulier.
|
|
130
|
+
"""
|
|
131
|
+
return self._stopevent.isSet()
|
|
132
|
+
# _GBO_ On n'utilise pas isAlive() pour pouvoir ma�triser
|
|
133
|
+
# l'indicateur de stop (exemple de la fonction kill)
|
|
134
|
+
# return not self.isAlive()
|
|
135
|
+
|
|
136
|
+
def getException(self):
|
|
137
|
+
return self._exception
|
|
138
|
+
|
|
139
|
+
def getId(self):
|
|
140
|
+
return self._id
|
|
141
|
+
|
|
142
|
+
def wait(self,timeout=None):
|
|
143
|
+
"""
|
|
144
|
+
Met fin au thread apr�s timeout seconde s'il est encore en
|
|
145
|
+
ex�cution.
|
|
146
|
+
Si le compte-�-rebours est atteind sans que la fonction
|
|
147
|
+
functionToRun soit termin�e, alors le runner est laiss� dans
|
|
148
|
+
l'�tat 'not Ended', c'est-�-dire que isEnded retourne
|
|
149
|
+
false. On peut ainsi distinguer l'arr�t normal de l'arr�t �
|
|
150
|
+
l'issue du timeout.
|
|
151
|
+
"""
|
|
152
|
+
threading.Thread.join(self, timeout)
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
def kill(self,message="Arr�t demand�"):
|
|
156
|
+
"""
|
|
157
|
+
Cette m�thode doit �tre appeler pour interrombre le
|
|
158
|
+
thread. Cet appel d�clare le thread comme en erreur (exception
|
|
159
|
+
mise � disposition par la m�thode getException().
|
|
160
|
+
"""
|
|
161
|
+
# On cr�e un exception indiquant la demande d'interruption
|
|
162
|
+
self._exception = Exception(message)
|
|
163
|
+
self._stopevent.set()
|
|
164
|
+
# _GBO_ ATTENTION
|
|
165
|
+
# Un thread python ne peut pas en r�alit� �tre int�rrompu.
|
|
166
|
+
# La fonction reste donc en ex�cution m�me si on a rejoint le
|
|
167
|
+
# thread appelant.
|
|
168
|
+
|
|
169
|
+
def clear(self):
|
|
170
|
+
self._stopevent.clear()
|
|
171
|
+
self._exception = None
|
|
172
|
+
self._return = None
|
|
173
|
+
|
|
174
|
+
# ===========================================================================
|
|
175
|
+
CONTINUE=1
|
|
176
|
+
STOP=0
|
|
177
|
+
|
|
178
|
+
class PeriodicTimer( threading.Thread ):
|
|
179
|
+
"""
|
|
180
|
+
Cette classe permet d'amorcer un compte-�-rebours p�riodique pour
|
|
181
|
+
op�rer un m�canisme de pooling. On d�finit la fonction appell�e
|
|
182
|
+
p�riodiquement et la fonction terminale.
|
|
183
|
+
"""
|
|
184
|
+
def __init__( self, loopdelay, initdelay=0,
|
|
185
|
+
periodic_action=None,
|
|
186
|
+
ended_action=None,
|
|
187
|
+
*ended_argv ):
|
|
188
|
+
|
|
189
|
+
if periodic_action is None:
|
|
190
|
+
self._periodic_action = self.defaultPeriodicAction
|
|
191
|
+
else:
|
|
192
|
+
self._periodic_action = periodic_action
|
|
193
|
+
self._ended_action = ended_action
|
|
194
|
+
self._loopdelay = loopdelay
|
|
195
|
+
self._initdelay = initdelay
|
|
196
|
+
self._running = CONTINUE
|
|
197
|
+
self._ended_argv = ended_argv
|
|
198
|
+
threading.Thread.__init__( self )
|
|
199
|
+
|
|
200
|
+
def defaultPeriodicAction():
|
|
201
|
+
"""
|
|
202
|
+
Les fonctions 'periodicAction' retournent CONTINU ou STOP
|
|
203
|
+
apr�s avoir ex�cut� l'action de fin de boucle. Si STOP est
|
|
204
|
+
retourn�, le cycle est interrompu.
|
|
205
|
+
"""
|
|
206
|
+
return CONTINU
|
|
207
|
+
|
|
208
|
+
def run( self ):
|
|
209
|
+
if self._initdelay:
|
|
210
|
+
time.sleep( self._initdelay )
|
|
211
|
+
self._runtime = time.time()
|
|
212
|
+
while self._running == CONTINUE:
|
|
213
|
+
start = time.time()
|
|
214
|
+
self._running = self._periodic_action()
|
|
215
|
+
self._runtime += self._loopdelay
|
|
216
|
+
time.sleep( max( 0, self._runtime - start ) )
|
|
217
|
+
if self._ended_action is not None:
|
|
218
|
+
self._ended_action( *self._ended_argv )
|
|
219
|
+
|
|
220
|
+
def stop( self ):
|
|
221
|
+
self._running = STOP
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
#
|
|
226
|
+
# ======================================================
|
|
227
|
+
# Fonctions de test unitaire
|
|
228
|
+
# ======================================================
|
|
229
|
+
#
|
|
230
|
+
|
|
231
|
+
# ======================================================
|
|
232
|
+
import os
|
|
233
|
+
testfilename="/tmp/threadhelperTestFile"
|
|
234
|
+
def testIfContinue():
|
|
235
|
+
print("On examine la pr�sence du fichier ", testfilename)
|
|
236
|
+
if os.path.exists(testfilename):
|
|
237
|
+
return STOP
|
|
238
|
+
else:
|
|
239
|
+
return CONTINUE
|
|
240
|
+
|
|
241
|
+
def endedAction():
|
|
242
|
+
print("FINI")
|
|
243
|
+
|
|
244
|
+
def TEST_PeriodicTimer():
|
|
245
|
+
periodicTimer=PeriodicTimer(1,0,testIfContinue, endedAction)
|
|
246
|
+
periodicTimer.start()
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
# ======================================================
|
|
250
|
+
def function_ok(nbsteps=5):
|
|
251
|
+
"""
|
|
252
|
+
Fonction qui se termine correctement
|
|
253
|
+
"""
|
|
254
|
+
print("D�but")
|
|
255
|
+
cnt=0
|
|
256
|
+
while ( cnt < nbsteps ):
|
|
257
|
+
print("Etape ", cnt)
|
|
258
|
+
time.sleep(0.6)
|
|
259
|
+
cnt+=1
|
|
260
|
+
|
|
261
|
+
print("Fin")
|
|
262
|
+
|
|
263
|
+
def function_with_exception():
|
|
264
|
+
"""
|
|
265
|
+
Fonction qui aboutie � une lev�e d'exception
|
|
266
|
+
"""
|
|
267
|
+
print("D�but")
|
|
268
|
+
cnt=0
|
|
269
|
+
while ( cnt < 5 ):
|
|
270
|
+
print("Etape ", cnt)
|
|
271
|
+
time.sleep(1)
|
|
272
|
+
cnt+=1
|
|
273
|
+
|
|
274
|
+
raise Exception("erreur d'ex�cution de la fonction")
|
|
275
|
+
print("Fin")
|
|
276
|
+
|
|
277
|
+
def infinite_function():
|
|
278
|
+
"""
|
|
279
|
+
fonction de dur�e infinie (tant qu'il y a du courant �l�ctrique) pour
|
|
280
|
+
le test du timeout.
|
|
281
|
+
"""
|
|
282
|
+
print("D�but")
|
|
283
|
+
cnt=0
|
|
284
|
+
while ( 1 ):
|
|
285
|
+
print("Etape ", cnt)
|
|
286
|
+
time.sleep(1)
|
|
287
|
+
cnt+=1
|
|
288
|
+
|
|
289
|
+
raise Exception("erreur")
|
|
290
|
+
print("Fin")
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
def runWithRunner(functionToRun):
|
|
294
|
+
"""
|
|
295
|
+
Ex�cute la fonction avec le runner. On illustre ici la modalit�
|
|
296
|
+
d'utilisation du Runner.
|
|
297
|
+
"""
|
|
298
|
+
print("###########")
|
|
299
|
+
runner = Runner(functionToRun)
|
|
300
|
+
runner.start()
|
|
301
|
+
|
|
302
|
+
while ( not runner.isEnded() ):
|
|
303
|
+
print("La fonction est en cours")
|
|
304
|
+
time.sleep(0.2)
|
|
305
|
+
e = runner.getException()
|
|
306
|
+
if e is not None:
|
|
307
|
+
print("La fonction s'est termin�e en erreur")
|
|
308
|
+
print(e)
|
|
309
|
+
# On peut en fait la relancer
|
|
310
|
+
# raise e
|
|
311
|
+
else:
|
|
312
|
+
print("La fonction s'est termin�e correctement")
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
def runWithTimeout(functionToRun, timeout=10):
|
|
316
|
+
"""
|
|
317
|
+
Ex�cute la fonction avec le runner. On illustre ici la modalit�
|
|
318
|
+
d'utilisation du Runner.
|
|
319
|
+
"""
|
|
320
|
+
print("runWithTimeout : DEBUT")
|
|
321
|
+
runner = Runner(functionToRun)
|
|
322
|
+
runner.start()
|
|
323
|
+
|
|
324
|
+
# On se fixe un temps au del� duquel on consid�re que la fonction
|
|
325
|
+
# est en erreur => on tue le thread (timeout)
|
|
326
|
+
runner.wait(timeout)
|
|
327
|
+
print("Apr�s runner.timeout(timeout)")
|
|
328
|
+
if not runner.isEnded():
|
|
329
|
+
runner.kill()
|
|
330
|
+
e = runner.getException()
|
|
331
|
+
if e is not None:
|
|
332
|
+
print("La fonction s'est termin�e en erreur")
|
|
333
|
+
print(e)
|
|
334
|
+
# On peut en fait la relancer
|
|
335
|
+
# raise e
|
|
336
|
+
else:
|
|
337
|
+
print("La fonction s'est termin�e correctement")
|
|
338
|
+
|
|
339
|
+
print("runWithTimeout : FIN")
|
|
340
|
+
import sys
|
|
341
|
+
sys.exit(0)
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
def TEST_Timeout():
|
|
345
|
+
#runWithTimeout(function_ok)
|
|
346
|
+
#runWithTimeout(function_ok,2)
|
|
347
|
+
runWithTimeout(function_with_exception)
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
def TEST_Runner():
|
|
351
|
+
runWithRunner(function_ok)
|
|
352
|
+
runWithRunner(function_with_exception)
|
|
353
|
+
#runWithRunner(infinite_function)
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
def myCallbackFunction():
|
|
357
|
+
print("myCallbackFunction: the job is ended")
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
def TEST_runWithCallback():
|
|
361
|
+
runner = Runner(function_ok,8)
|
|
362
|
+
runner.setCallbackFunction(myCallbackFunction)
|
|
363
|
+
runner.start()
|
|
364
|
+
|
|
365
|
+
if runner.getException() is not None:
|
|
366
|
+
return False
|
|
367
|
+
|
|
368
|
+
runnerId = runner.getId()
|
|
369
|
+
print("A runner has been started with id="+str(runnerId))
|
|
370
|
+
cpt = 0
|
|
371
|
+
while ( not runner.isEnded() ):
|
|
372
|
+
print("Waiting notification from process "+str(runner.getId())+", step n°"+str(cpt))
|
|
373
|
+
time.sleep(0.2)
|
|
374
|
+
cpt+=1
|
|
375
|
+
|
|
376
|
+
return True
|
|
377
|
+
|
|
378
|
+
if __name__ == "__main__":
|
|
379
|
+
from . import unittester
|
|
380
|
+
#TEST_PeriodicTimer()
|
|
381
|
+
#TEST_Runner()
|
|
382
|
+
#TEST_Timeout()
|
|
383
|
+
unittester.run("threadhelper","TEST_runWithCallback")
|
|
384
|
+
|
|
385
|
+
|
|
@@ -0,0 +1,121 @@
|
|
|
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 uiexception uiexception
|
|
22
|
+
# \{
|
|
23
|
+
# \details Exception for user error management
|
|
24
|
+
# \}
|
|
25
|
+
|
|
26
|
+
__author__="gboulant"
|
|
27
|
+
__date__ ="$31 mars 2010 11:59:33$"
|
|
28
|
+
|
|
29
|
+
from .enumerate import Enumerate
|
|
30
|
+
|
|
31
|
+
## This exception should be used for functionnal error management, at least in the GUI
|
|
32
|
+
# part of the application, for example to set user oriented messages at point
|
|
33
|
+
# of exception raise.
|
|
34
|
+
# \warning The exception should NOT be used to hide defaults in the algorithm, but
|
|
35
|
+
# only predicted error in the specified use case.
|
|
36
|
+
# \ingroup uiexception
|
|
37
|
+
class UiException(Exception):
|
|
38
|
+
|
|
39
|
+
TYPES = Enumerate([
|
|
40
|
+
'USER', # This type should be displayed to end user using a dialog box
|
|
41
|
+
'ADMIN', # This type should be displayed to admin user in console log
|
|
42
|
+
'DEVEL' # This type should be displayed to developer only
|
|
43
|
+
])
|
|
44
|
+
|
|
45
|
+
_UImessage = "An error occurs"
|
|
46
|
+
_type = TYPES.USER
|
|
47
|
+
|
|
48
|
+
"""
|
|
49
|
+
This exception should be used for functionnal error management, at least in the GUI
|
|
50
|
+
part of the application, for example to set user oriented messages at point
|
|
51
|
+
of exception raise.
|
|
52
|
+
WARN: The exception should NOT be used to hide defaults in the algorithm, but
|
|
53
|
+
only predicted error in the specified use case.
|
|
54
|
+
"""
|
|
55
|
+
|
|
56
|
+
## Canonical constructor
|
|
57
|
+
def __init__(self, message, type=TYPES.USER):
|
|
58
|
+
"""Canonical constructor"""
|
|
59
|
+
Exception.__init__(self,message)
|
|
60
|
+
self.setUIMessage(message)
|
|
61
|
+
self.setType(type)
|
|
62
|
+
|
|
63
|
+
def setUIMessage(self, UImessage):
|
|
64
|
+
self._UImessage = UImessage
|
|
65
|
+
|
|
66
|
+
def getUIMessage(self):
|
|
67
|
+
return self._UImessage
|
|
68
|
+
|
|
69
|
+
## Specify the type of this exception. To be chosen in the TYPES list.
|
|
70
|
+
def setType(self, type):
|
|
71
|
+
"""Specify the type of this exception. To be chosen in the TYPES list."""
|
|
72
|
+
if not self.TYPES.isValid(type):
|
|
73
|
+
raise UiException("The exception type "+str(type)+" can't be used",self.TYPES.DEVEL)
|
|
74
|
+
self._type = type
|
|
75
|
+
|
|
76
|
+
def getType(self):
|
|
77
|
+
return self._type
|
|
78
|
+
|
|
79
|
+
def __str__(self):
|
|
80
|
+
return self.getUIMessage()
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def UserException(msg):
|
|
84
|
+
return UiException(msg,UiException.TYPES.USER)
|
|
85
|
+
|
|
86
|
+
def AdminException(msg):
|
|
87
|
+
return UiException(msg,UiException.TYPES.ADMIN)
|
|
88
|
+
|
|
89
|
+
def DevelException(msg):
|
|
90
|
+
return UiException(msg,UiException.TYPES.DEVEL)
|
|
91
|
+
|
|
92
|
+
#
|
|
93
|
+
# ==============================================================================
|
|
94
|
+
# Basic use cases and unit test functions
|
|
95
|
+
# ==============================================================================
|
|
96
|
+
#
|
|
97
|
+
def somethingGoesWrong():
|
|
98
|
+
raise UiException("Something goes wrong")
|
|
99
|
+
|
|
100
|
+
def TEST_uimessage():
|
|
101
|
+
try:
|
|
102
|
+
somethingGoesWrong()
|
|
103
|
+
return False
|
|
104
|
+
except UiException as err:
|
|
105
|
+
print('ERROR: %s' % str(err))
|
|
106
|
+
if ( str(err) == "Something goes wrong" ):
|
|
107
|
+
return True
|
|
108
|
+
else:
|
|
109
|
+
return False
|
|
110
|
+
|
|
111
|
+
def TEST_specificException():
|
|
112
|
+
print(DevelException("err"))
|
|
113
|
+
print(AdminException("err"))
|
|
114
|
+
print(UserException("err"))
|
|
115
|
+
return True
|
|
116
|
+
|
|
117
|
+
if __name__ == "__main__":
|
|
118
|
+
from . import unittester
|
|
119
|
+
unittester.run("uiexception","TEST_uimessage")
|
|
120
|
+
unittester.run("uiexception","TEST_specificException")
|
|
121
|
+
|
|
@@ -0,0 +1,89 @@
|
|
|
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 unittester unittester
|
|
22
|
+
# \{
|
|
23
|
+
# \details Run very basic unit tests
|
|
24
|
+
# \}
|
|
25
|
+
|
|
26
|
+
__author__="gboulant"
|
|
27
|
+
__date__ ="$1 avr. 2010 09:45:21$"
|
|
28
|
+
|
|
29
|
+
import sys
|
|
30
|
+
|
|
31
|
+
## This function should be used for very basic unit tests and only for a
|
|
32
|
+
# rapid development. %A better way should be the pyunit framework.
|
|
33
|
+
# The function functionName is supposed here to return a boolean value
|
|
34
|
+
# indicating if the test is OK (True) or NOT OK (False)
|
|
35
|
+
# \ingroup unittester
|
|
36
|
+
def run(modulePath, functionName):
|
|
37
|
+
"""
|
|
38
|
+
This function should be used for very basic unit tests and only for a
|
|
39
|
+
rapid development. A better way should be the pyunit framework.
|
|
40
|
+
The function functionName is supposed here to return a boolean value
|
|
41
|
+
indicating if the test is OK (True) or NOT OK (False)
|
|
42
|
+
"""
|
|
43
|
+
moduleName = modulePath.replace('/','.')
|
|
44
|
+
import importlib
|
|
45
|
+
importlib.import_module(moduleName)
|
|
46
|
+
module=sys.modules[moduleName]
|
|
47
|
+
func = getattr(module,functionName)
|
|
48
|
+
tabsize = 70-len(moduleName)-len(functionName)
|
|
49
|
+
print("[TEST] %s.%s %s test in progress" % (moduleName, functionName,"."*tabsize))
|
|
50
|
+
ok = func()
|
|
51
|
+
if ( ok ):
|
|
52
|
+
print("[TEST] %s.%s %s OK" % (moduleName, functionName,"."*tabsize))
|
|
53
|
+
else:
|
|
54
|
+
print("[TEST] %s.%s %s NOT OK" % (moduleName, functionName,"."*tabsize))
|
|
55
|
+
|
|
56
|
+
## This function is for debug only. It executes the specified function with the
|
|
57
|
+
# specified arguments in a try/except block so as to display the exception in
|
|
58
|
+
# the case where an exception is raised (useful to debug server side of a CORBA
|
|
59
|
+
# process).
|
|
60
|
+
# \ingroup unittester
|
|
61
|
+
def tryfunction(function,*argv):
|
|
62
|
+
"""
|
|
63
|
+
This function is for debug only. It executes the specified function with the
|
|
64
|
+
specified arguments in a try/except block so as to display the exception in
|
|
65
|
+
the case where an exception is raised (useful to debug server side of a CORBA
|
|
66
|
+
process).
|
|
67
|
+
"""
|
|
68
|
+
print("[TEST] trying the function %s" % function)
|
|
69
|
+
try:
|
|
70
|
+
return function(*argv)
|
|
71
|
+
except Exception as e:
|
|
72
|
+
print(e)
|
|
73
|
+
raise e
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
#
|
|
77
|
+
# ==============================================================================
|
|
78
|
+
# Simple use cases
|
|
79
|
+
# ==============================================================================
|
|
80
|
+
#
|
|
81
|
+
def TEST_myTestIsOk():
|
|
82
|
+
return True
|
|
83
|
+
|
|
84
|
+
def TEST_myTestIsNotOk():
|
|
85
|
+
return False
|
|
86
|
+
|
|
87
|
+
if __name__ == "__main__":
|
|
88
|
+
run("salome/kernel/unittester","TEST_myTestIsOk")
|
|
89
|
+
run("salome/kernel/unittester","TEST_myTestIsNotOk")
|