Version: 9.15.0
SalomeOnDemandTK.extension_utilities Namespace Reference

Functions

def create_salomexd (name, descr='', depends_on=None, author='', components=None)
 
def read_salomexd (file_path)
 
def value_from_salomexd (file_path, key)
 
def ext_info_bykey (salome_root, salomex_name, key)
 
def create_salomexb (name, included)
 
def read_salomexb (file_path)
 
def list_files (dir_path)
 
def filter_to_regex (dir_path, filter_patterns)
 
def list_files_filter (dir_path, filter_patterns)
 
def list_files_ext (dir_path, ext)
 
def list_tonewline_str (str_list)
 
def isvalid_filename (filename, extension)
 
def isvalid_dirname (dirname)
 
def list_dependants (install_dir, salomex_name)
 
def is_empty_dir (directory)
 
def find_file (directory, file_name)
 
def find_salomexd (install_dir, salomex_name)
 
def find_salomexc (install_dir, salomex_name)
 
def find_envpy (install_dir, salomex_name)
 
def module_from_filename (filename)
 
def set_selext_env (install_dir, salomex_name, context=None)
 
def get_app_root (levels_up=5)
 
def check_if_installed (install_dir, salomex_name)
 

Variables

string FORMAT = '%(levelname)s : %(asctime)s : [%(filename)s:%(funcName)s:%(lineno)s] : %(message)s'
 
 format
 
 level
 
 logger = logging.getLogger()
 
string SALOME_EXTDIR = '__SALOME_EXT__'
 
string ARCFILE_EXT = 'salomex'
 
string BFILE_EXT = 'salomexb'
 
string CFILE_EXT = 'salomexc'
 
string DFILE_EXT = 'salomexd'
 
string PYFILE_EXT = 'py'
 
string ENVPYFILE_SUF = '_env.py'
 
string EXTNAME_KEY = 'name'
 
string EXTDESCR_KEY = 'descr'
 
string EXTDEPENDSON_KEY = 'depends_on'
 
string EXTAUTHOR_KEY = 'author'
 
string EXTCOMPONENT_KEY = 'components'
 

Function Documentation

◆ check_if_installed()

def SalomeOnDemandTK.extension_utilities.check_if_installed (   install_dir,
  salomex_name 
)
Check if a given salome extension is installed in install_dir.
Now for install|remove process we consider an ext is installed
if we have at least salomexc file with list of files to remove
if we need to clean up.

Args:
    install_dir - path to SALOME install root directory.
    salomex_name - a given ext name.

Returns:
    salomexd, salomexc file names.

References SalomeOnDemandTK.extension_utilities.find_salomexc(), and SalomeOnDemandTK.extension_utilities.find_salomexd().

Referenced by SalomeOnDemandTK.extension_remover.remove_salomex(), and SalomeOnDemandTK.extension_unpacker.unpack_salomex().

◆ create_salomexb()

def SalomeOnDemandTK.extension_utilities.create_salomexb (   name,
  included 
)
Create a salomexb file from a list of included file names.
For example:
*/*.py
doc/*.html
doc/*.jp

Args:
    name - the name of the corresponding salome extension.
    included - list of the directories those must be included inside a salomex.

Returns:
    None

◆ create_salomexd()

def SalomeOnDemandTK.extension_utilities.create_salomexd (   name,
  descr = '',
  depends_on = None,
  author = '',
  components = None 
)
Create a basic salomexd file from provided args.
Current version is a json file with function args as the keys.

Args:
    name - the name of the corresponding salome extension.
    depends_on - list of the modules that current extension depends on.
    author - an author of the extension.
    components - the names of the modules those current extension was built from.

Returns:
    None

◆ ext_info_bykey()

def SalomeOnDemandTK.extension_utilities.ext_info_bykey (   salome_root,
  salomex_name,
  key 
)
Search a salomexd file by ext name and return a value for the given key.

Args:
    install_dir - directory where the given extension is installed.
    salomex_name - the given extension's name.
    key - the key to search an assigned value.

Returns:
    A value for key in the given ext salomexd file.

References SalomeOnDemandTK.extension_utilities.find_salomexd(), and SalomeOnDemandTK.extension_utilities.value_from_salomexd().

Referenced by SalomeOnDemandTK.extension_unpacker.install_salomex().

◆ filter_to_regex()

def SalomeOnDemandTK.extension_utilities.filter_to_regex (   dir_path,
  filter_patterns 
)
Makes a regex pattern from a given filter.

Args:
    dir_path - the path to the directory where you search for files.
    filter_patterns - list of expressions for matching file names.

Returns:
    A regex string translated from the filter.
    For example:
    Filter:  ['SMESH/**.cmake', 'SMESH/share/s*.med']
    Regex:   (?s:SMESH/.*\.cmake)\Z|(?s:SMESH/share/s.*\.med)\Z
    Matches: SMESH/adm_local/cmake_files/SalomeSMESHConfig.cmake
             SMESH/share/salome/resources/smesh/padderdata/ferraill.med

Referenced by SalomeOnDemandTK.extension_utilities.list_files_filter().

◆ find_envpy()

def SalomeOnDemandTK.extension_utilities.find_envpy (   install_dir,
  salomex_name 
)
Finds a _env.py file for the given extension.

Args:
    install_dir - path to directory to check.
    salomex_name - extension's name.

Returns:
    Abs path if the file exist, otherwise None.

References SalomeOnDemandTK.extension_utilities.find_file().

Referenced by SalomeOnDemandTK.extension_remover.remove_salomex(), and SalomeOnDemandTK.extension_utilities.set_selext_env().

◆ find_file()

def SalomeOnDemandTK.extension_utilities.find_file (   directory,
  file_name 
)
Finds a file in the given directory.

Args:
    directory - path to directory to check.
    file_name - given base filename with extension

Returns:
    Abs path if the file exist, otherwise None.

Referenced by SalomeOnDemandTK.extension_utilities.find_envpy(), SalomeOnDemandTK.extension_utilities.find_salomexc(), and SalomeOnDemandTK.extension_utilities.find_salomexd().

◆ find_salomexc()

def SalomeOnDemandTK.extension_utilities.find_salomexc (   install_dir,
  salomex_name 
)
Finds a salomexc file for the given extension.

Args:
    install_dir - path to directory to check.
    salomex_name - extension's name.

Returns:
    Abs path if the file exist, otherwise None.

References SalomeOnDemandTK.extension_utilities.find_file().

Referenced by SalomeOnDemandTK.extension_utilities.check_if_installed(), and SalomeOnDemandTK.extension_query.ext_size().

◆ find_salomexd()

def SalomeOnDemandTK.extension_utilities.find_salomexd (   install_dir,
  salomex_name 
)
Finds a salomexd file for the given extension.

Args:
    install_dir - path to directory to check.
    salomex_name - extension's name.

Returns:
    Abs path if the file exist, otherwise None.

References SalomeOnDemandTK.extension_utilities.find_file().

Referenced by SalomeOnDemandTK.extension_utilities.check_if_installed(), and SalomeOnDemandTK.extension_utilities.ext_info_bykey().

◆ get_app_root()

def SalomeOnDemandTK.extension_utilities.get_app_root (   levels_up = 5)
Finds an app root by going up on the given steps.

Args:
    levels_up - steps up in dir hierarchy relative to the current file.

Returns:
    Path to the app root.

Referenced by SalomeOnDemandTK.extension_unpacker.install_salomex(), and runSalomeOnDemand.set_ext_env().

◆ is_empty_dir()

def SalomeOnDemandTK.extension_utilities.is_empty_dir (   directory)
Checks if the given directory is empty.

Args:
    directory - path to directory to check.

Returns:
    True if the given directory is empty.

Referenced by SalomeOnDemandTK.extension_remover.remove_if_empty().

◆ isvalid_dirname()

def SalomeOnDemandTK.extension_utilities.isvalid_dirname (   dirname)
Checks if a given directory name exists.

Args:
    dirname - the name of the directory to check.

Returns:
    True if the given dirname is valid.

Referenced by SalomeOnDemandTK.extension_builder.create_salomex(), SalomeOnDemandTK.extension_query.ext_size(), SalomeOnDemandTK.extension_remover.remove_salomex(), and SalomeOnDemandTK.extension_unpacker.unpack_salomex().

◆ isvalid_filename()

def SalomeOnDemandTK.extension_utilities.isvalid_filename (   filename,
  extension 
)
Checks if a given filename is valid in a sense that it exists and have a given extension.

Args:
    filename - the name of the file to check.
    extension - expected file name extension.

Returns:
    True if the given filename is valid for given extension.

Referenced by SalomeOnDemandTK.extension_builder.create_salomex(), and SalomeOnDemandTK.extension_unpacker.unpack_salomex().

◆ list_dependants()

def SalomeOnDemandTK.extension_utilities.list_dependants (   install_dir,
  salomex_name 
)
Checks if we have installed extensions those depend on a given extension.

Args:
    install_dir - path to SALOME install root directory.
    salomex_name - a name of salome extension to check.

Returns:
    True if the given extension has dependants.

References SalomeOnDemandTK.extension_utilities.list_files_ext(), and SalomeOnDemandTK.extension_utilities.read_salomexd().

Referenced by SalomeOnDemandTK.extension_remover.remove_salomex().

◆ list_files()

def SalomeOnDemandTK.extension_utilities.list_files (   dir_path)
Returns the recursive list of relative paths to files as strings
in the dir_path root directory and all subdirectories.

Args:
    dir_path - the path to the directory where you search for files.

Raises:
    Raises OSError exception.

Returns:
    A list of relative paths to files inside the given directory.

◆ list_files_ext()

def SalomeOnDemandTK.extension_utilities.list_files_ext (   dir_path,
  ext 
)
Returns a list of abs paths to files with a given extension
in the dir_path directory.

Args:
    dir_path - the path to the directory where you search for files.
    ext - a given extension.

Returns:
    A list of absolute paths to selected files.

Referenced by SalomeOnDemandTK.extension_query.dependency_tree(), SalomeOnDemandTK.extension_query.ext_by_name(), SalomeOnDemandTK.extension_query.ext_info_dict(), and SalomeOnDemandTK.extension_utilities.list_dependants().

◆ list_files_filter()

def SalomeOnDemandTK.extension_utilities.list_files_filter (   dir_path,
  filter_patterns 
)
Returns the recursive list of relative paths to files as strings
in the dir_path root directory and all subdirectories.

Args:
    dir_path - the path to the directory where you search for files.
    filter_patterns - list of expressions for matching file names.

Returns:
    files_abs - a list of absolute paths to selected files.
    files_rel - a list of relative paths to selected files.

References SalomeOnDemandTK.extension_utilities.filter_to_regex().

Referenced by SalomeOnDemandTK.extension_builder.create_salomex().

◆ list_tonewline_str()

def SalomeOnDemandTK.extension_utilities.list_tonewline_str (   str_list)
Converts the given list of strings to a newline separated string.

Args:
    dir_path - the path to the directory where you search for files.

Returns:
    A newline separated string.

Referenced by SalomeOnDemandTK.extension_builder.create_salomex().

◆ module_from_filename()

def SalomeOnDemandTK.extension_utilities.module_from_filename (   filename)
Create and execute a module by filename.

Args:
    filename - a given python filename.

Returns:
    Module.

Referenced by SalomeOnDemandTK.extension_utilities.set_selext_env().

◆ read_salomexb()

def SalomeOnDemandTK.extension_utilities.read_salomexb (   file_path)
Returns a content af a salomexb file as a list of strings.
There's no check if the file_path is a valid salomexb file name.
It's expected that user call isvalid_filename() in advance.

Args:
    file_path - the path to the salomexb file.

Returns:
    List of strings - paths to the directories those must be included in
    corresponding salomex archive file.

Referenced by SalomeOnDemandTK.extension_builder.create_salomex().

◆ read_salomexd()

def SalomeOnDemandTK.extension_utilities.read_salomexd (   file_path)
Reads a content of a salomexd file. Current version is a json file.
There's no check if the file_path is a valid salomexd file name.
It's expected that user call isvalid_filename() in advance.

Args:
    file_path - the path to the salomexd file.

Returns:
    A dictionary that represents the content of the salomexd file.

Referenced by SalomeOnDemandTK.extension_builder.create_salomex(), SalomeOnDemandTK.extension_query.dependency_tree(), SalomeOnDemandTK.extension_query.ext_info_dict(), SalomeOnDemandTK.extension_utilities.list_dependants(), and SalomeOnDemandTK.extension_utilities.value_from_salomexd().

◆ set_selext_env()

def SalomeOnDemandTK.extension_utilities.set_selext_env (   install_dir,
  salomex_name,
  context = None 
)
Finds and run _env.py file for the given extension.

Args:
    install_dir - path to directory to check.
    salomex_name - extension's name.
    context - SalomeContext object.

Returns:
    True if an envpy file was found and run its init func.

References SalomeOnDemandTK.extension_utilities.find_envpy(), and SalomeOnDemandTK.extension_utilities.module_from_filename().

Referenced by SalomeOnDemandTK.extension_unpacker.install_salomex(), and runSalomeOnDemand.set_ext_env().

◆ value_from_salomexd()

def SalomeOnDemandTK.extension_utilities.value_from_salomexd (   file_path,
  key 
)
Reads a content of a salomexd file and return a value for the given key.

Args:
    file_path - the path to the salomexd file.
    key - the key to search an assigned value.

Returns:
    A value assigned to the given key if exist, otherwise None.

References SalomeOnDemandTK.extension_utilities.read_salomexd().

Referenced by SalomeOnDemandTK.extension_utilities.ext_info_bykey(), and SalomeOnDemandTK.extension_remover.remove_salomex().

Variable Documentation

◆ ARCFILE_EXT

string SalomeOnDemandTK.extension_utilities.ARCFILE_EXT = 'salomex'

◆ BFILE_EXT

string SalomeOnDemandTK.extension_utilities.BFILE_EXT = 'salomexb'

◆ CFILE_EXT

string SalomeOnDemandTK.extension_utilities.CFILE_EXT = 'salomexc'

◆ DFILE_EXT

string SalomeOnDemandTK.extension_utilities.DFILE_EXT = 'salomexd'

◆ ENVPYFILE_SUF

string SalomeOnDemandTK.extension_utilities.ENVPYFILE_SUF = '_env.py'

◆ EXTAUTHOR_KEY

string SalomeOnDemandTK.extension_utilities.EXTAUTHOR_KEY = 'author'

◆ EXTCOMPONENT_KEY

string SalomeOnDemandTK.extension_utilities.EXTCOMPONENT_KEY = 'components'

◆ EXTDEPENDSON_KEY

string SalomeOnDemandTK.extension_utilities.EXTDEPENDSON_KEY = 'depends_on'

◆ EXTDESCR_KEY

string SalomeOnDemandTK.extension_utilities.EXTDESCR_KEY = 'descr'

◆ EXTNAME_KEY

string SalomeOnDemandTK.extension_utilities.EXTNAME_KEY = 'name'

◆ FORMAT

SalomeOnDemandTK.extension_utilities.FORMAT = '%(levelname)s : %(asctime)s : [%(filename)s:%(funcName)s:%(lineno)s] : %(message)s'

◆ format

SalomeOnDemandTK.extension_utilities.format

Referenced by killSalomeWithPort.__guessPiDictFilename(), SALOME_Container.SALOME_Container_Abstract_i.__init__(), killSalomeWithPort.__killMyPort(), killSalomeWithPort.__killPids(), SALOME_ContainerHelper.ScriptInfoAbstract.__repr__(), SALOME_ContainerHelper.ScriptExecInfo.__str__(), SALOME_ContainerHelper.ScriptInfoAbstract.__str__(), SALOME_ContainerHelper.ContainerLogInfoAbstract.__str__(), SALOME_PyNode.CPUMemInfo.__str__(), SALOME_PyNode.InodeSizeInfo.__str__(), script_parameters.ScriptLocalParameters.__str__(), killSalomeWithPort.appliCleanOmniOrbConfig(), SALOME_PyNode.PythonFunctionEvaluatorParams.cleanOperations(), SALOME_PyNode.CPUMemoryMonitoring(), SALOME_Container.SALOME_Container_Abstract_i.create_pyscriptnode(), SALOME_PyNode.ExecCrashProofGeneric(), SALOME_PyNode.FileSystemMonitoring(), launchConfigureParser.get_env(), SALOME_ContainerHelper.ScriptExecInfo.GetRepresentationOfTimeDelta(), appli_gen.install(), killSalome.killAllPorts(), killSalomeWithPort.killMyPort(), killSalomeWithPort.killProcessSSL(), KERNEL_PY.salome_kernel.list_of_catalogs_regarding_environement(), KERNEL_PY.salome_psutil.loadOfCPUCores(), SALOME_Container.SALOME_Container_Abstract_i.logm(), salome.LogManagerLaunchMonitoringDumpFile(), KERNEL_PY.LogManagerLaunchMonitoringDumpFile(), killSalomeWithPort.main(), runSalomeNoServer.main(), KERNEL_PY.salome_test.main(), SALOME_ContainerHelper.ScriptExecInfo.MemRepr(), SALOME_Container.SALOME_Container_Abstract_i.positionVerbosityOfLogger(), salome_utils.positionVerbosityOfLogger(), SALOME_PyNode.PythonFunctionEvaluatorParams.replayCmd(), SALOME_PyNode.RetrieveRemoteFileLocallyInSameFileName(), server.Server.run(), salome.salome_shutdown_containers_with_session(), KERNEL_PY.salome_shutdown_containers_with_session(), SALOME_Container.SALOME_Container_Abstract_i.setLogFileName(), killSalomeWithPort.shutdownMyPort(), SALOME_ContainerHelper.ScriptExecInfo.SpeedRepr(), testcontainer.TestResourceManager.test1(), testCrashProofContainer.testPerfLogManager1.test2(), testCrashProofContainer.testPerfLogManager1.test9(), testPerfLogManager1.testPerfLogManager1.testEasyNamingService(), testProxy.TestProxy.testExecCodeAtInit(), testProxy.TestProxy.testMultiProcessCriticalSection0(), testPerfLogManager1.testPerfLogManager1.testPerfLogManager0(), testPerfLogManager1.testPerfLogManager1.testPerfLogManager1(), testPerfLogManager1.testPerfLogManager1.testSSDCopyMethod(), testPerfLogManager1.unProxyfy(), SALOME_PyNode.UnProxyObjectSimple(), and launchConfigureParser.userFile().

◆ level

SalomeOnDemandTK.extension_utilities.level

◆ logger

SalomeOnDemandTK.extension_utilities.logger = logging.getLogger()

◆ PYFILE_EXT

string SalomeOnDemandTK.extension_utilities.PYFILE_EXT = 'py'

◆ SALOME_EXTDIR

string SalomeOnDemandTK.extension_utilities.SALOME_EXTDIR = '__SALOME_EXT__'