X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FKERNEL_PY%2Fsalome_kernel.py;h=6094d40263807795f943106d7a353b01a80ecd15;hb=65b0b42f670df86cea60bbc0bcb83e46aa975e9d;hp=9824f788be8220efcee3240e1536d5765e8b647c;hpb=82d1457c364df0ff85cf8d35f3f1216931e57c5a;p=modules%2Fkernel.git diff --git a/src/KERNEL_PY/salome_kernel.py b/src/KERNEL_PY/salome_kernel.py old mode 100755 new mode 100644 index 9824f788b..6094d4026 --- a/src/KERNEL_PY/salome_kernel.py +++ b/src/KERNEL_PY/salome_kernel.py @@ -1,5 +1,5 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE # # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -31,16 +31,37 @@ from LifeCycleCORBA import * from SALOME_NamingServicePy import * from SALOME_utilities import * import Engines +import SALOME +import SALOME_ModuleCatalog -salome_kernel_initial=1 +orb = None +lcc = None +naming_service = None +cm = None +esm = None +dsm = None +modulcat = None + +def list_of_catalogs_regarding_environement(): + """ + Method to detect XML module catalogs regarding environement variables + """ + import os + KEY_IN_ENV_VAR = "_ROOT_DIR" + modules_env_var = [elt for elt in os.environ.keys() if elt[-len(KEY_IN_ENV_VAR):]==KEY_IN_ENV_VAR] + list_catalogs = [] + for module_env_var in modules_env_var: + module_upper_case = module_env_var[:-len(KEY_IN_ENV_VAR)] + file_candidate = os.path.join(os.environ[module_env_var],"share","salome","resources",module_upper_case.lower(),"{}Catalog.xml".format(module_upper_case)) + if os.path.isfile(file_candidate): + list_catalogs.append(file_candidate) + pass + return list_catalogs def salome_kernel_init(): - global salome_kernel_initial - global orb, lcc, naming_service, cm + global orb, lcc, naming_service, cm, esm, dsm, modulcat - if salome_kernel_initial: - salome_kernel_initial = 0 - + if not orb: # initialise the ORB orb = CORBA.ORB_init([''], CORBA.ORB_ID) @@ -53,10 +74,14 @@ def salome_kernel_init(): # get Container Manager obj = naming_service.Resolve('/ContainerManager') cm = obj._narrow(Engines.ContainerManager) - - return orb, lcc, naming_service, cm - -def salome_kernel_close(): - global salome_kernel_initial - salome_kernel_initial=1 - pass + # get External Server Manager + obj = naming_service.Resolve('/ExternalServers') + esm = obj._narrow(SALOME.ExternalServerLauncher) + # + obj = naming_service.Resolve('/DataServerManager') + dsm = obj._narrow(SALOME.DataServerManager) + # + obj = naming_service.Resolve('Kernel/ModulCatalog') + modulcat = obj._narrow(SALOME_ModuleCatalog.ModuleCatalog) + + return orb, lcc, naming_service, cm, esm, dsm, modulcat