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