Version: 9.15.0
SalomeOnDemandTK.extension_query Namespace Reference

Functions

def size_to_str (size, format_in_bytes=False)
 
def dir_size (directory)
 
def dir_size_str (directory, format_in_bytes=False)
 
def size_bylist (root_dir, salomexc)
 
def ext_size (install_dir, salomex_name)
 
def ext_size_str (install_dir, salomex_name, format_in_bytes=False)
 
def dependency_tree (directory)
 
def ext_info_dict (directory)
 
def ext_by_dependants (dep_tree, depends_on=None)
 
def ext_by_name (directory)
 
def ext_canremove_flags (directory)
 

Variables

def ext_tree = dependency_tree(sys.argv[1])
 
def ext_list = ext_by_dependants(ext_tree)
 
 arg_1
 
 arg_2
 

Function Documentation

◆ dependency_tree()

def SalomeOnDemandTK.extension_query.dependency_tree (   directory)
Create a dependency tree for all salome extensions
installed in the given directory.

Args:
    directory - the given directory

Returns:
    A dictionary like that for extensions A, B, C, D and E:
      A
     /|\
    / B D
    \/ \/
    C   E

    { 'A': ['B', 'C', 'D'], 'B': ['C', 'E'], 'C': [], 'D': ['E'], 'E': [] }.

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

Referenced by SalomeOnDemandTK.extension_query.ext_canremove_flags(), and runSalomeOnDemand.set_ext_env().

◆ dir_size()

def SalomeOnDemandTK.extension_query.dir_size (   directory)
Calculate a total size of the given directory.

Args:
    directory - the given directory

Returns:
    Size of the directory.

Referenced by SalomeOnDemandTK.extension_query.dir_size_str().

◆ dir_size_str()

def SalomeOnDemandTK.extension_query.dir_size_str (   directory,
  format_in_bytes = False 
)
Calculate a total size of the given directory and format as a string.

Args:
    directory - the given directory
    format_in_bytes - if True, size is expressed in bytes,
        otherwise human readable units are used.

Returns:
    Size of the directory as a formatted string.

References SalomeOnDemandTK.extension_query.dir_size(), and SalomeOnDemandTK.extension_query.size_to_str().

Referenced by SalomeOnDemandTK.extension_query.ext_canremove_flags().

◆ ext_by_dependants()

def SalomeOnDemandTK.extension_query.ext_by_dependants (   dep_tree,
  depends_on = None 
)
Calcualate a list of extensions names sorted by dependencies.

Args:
    dep_tree - a dependecy tree of all considered extensions.
    depends_on - a set of extensions names to check if the current one depends on them.

Returns:
    A list of of extensions from dep_tree sorted by dependencies.
    For example, dictionary like that for extensions A, B, C, D and E:
      A
     /|\
    / B D
    \/ \/
    C   E

    represented { 'A': ['B', 'C', 'D'], 'B': ['C', 'E'], 'C': [], 'D': ['E'], 'E': [] }
    returns ['A', 'B', 'D', 'C', 'E'].

Referenced by runSalomeOnDemand.set_ext_env().

◆ ext_by_name()

def SalomeOnDemandTK.extension_query.ext_by_name (   directory)
Calcualate a list of extensions installed in the given directory.

Args:
    directory - a directory where extensions are installed.

Returns:
    A list of extensions names sorted by name.

References SalomeOnDemandTK.extension_utilities.list_files_ext().

◆ ext_canremove_flags()

def SalomeOnDemandTK.extension_query.ext_canremove_flags (   directory)
Calcualate a dict of extensions names paired with bool flag if able to be removed.

Args:
    directory - the given ext install directory.

Returns:
    For dependency tree for extensions A, B, C, D and E:
      A
     /|\
    / B D
    \/ \/
    C   E

    represented { 'A': ['B', 'C', 'D'], 'B': ['C', 'E'], 'C': [], 'D': ['E'], 'E': [] }
    returns ['A': True, 'B': False, 'D': False, 'C': False, 'E': False].
    We can remove only A here, because we don't have any other modules depend on it.

References SalomeOnDemandTK.extension_query.dependency_tree(), and SalomeOnDemandTK.extension_query.dir_size_str().

◆ ext_info_dict()

def SalomeOnDemandTK.extension_query.ext_info_dict (   directory)
Get installed salome extensions info.

Args:
    directory - the given ext install directory.

Returns:
    A dictionary {name: [descr, author, components, size]}.

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

◆ ext_size()

def SalomeOnDemandTK.extension_query.ext_size (   install_dir,
  salomex_name 
)
Calculate a total size of a salome extension from SALOME install root.

Args:
    salome_root - path to SALOME install root directory.
    salomex_name - a name of the given salome extension.

Returns:
    Size of the directory in bytes.

References SalomeOnDemandTK.extension_utilities.find_salomexc(), SalomeOnDemandTK.extension_utilities.isvalid_dirname(), and SalomeOnDemandTK.extension_query.size_bylist().

Referenced by SalomeOnDemandTK.extension_query.ext_size_str().

◆ ext_size_str()

def SalomeOnDemandTK.extension_query.ext_size_str (   install_dir,
  salomex_name,
  format_in_bytes = False 
)
Calculate a total size of the given extension and format as a string.

Args:
    install_dir - directory where the given extension is installed.
    salomex_name - the given extension's name.
    format_in_bytes - if True, size is expressed in bytes,
        otherwise human readable units are used.

Returns:
    Size of the extension as a formatted string.

References SalomeOnDemandTK.extension_query.ext_size(), and SalomeOnDemandTK.extension_query.size_to_str().

Referenced by SalomeOnDemandTK.extension_query.ext_info_dict().

◆ size_bylist()

def SalomeOnDemandTK.extension_query.size_bylist (   root_dir,
  salomexc 
)
Calcualate the total size of files listed in the given salomexc file.

Args:
    root_dir - a root dir for listed files
    salomexc - file that contents a list of files.

Returns:
    The total size of listed files.

Referenced by SalomeOnDemandTK.extension_query.ext_size().

◆ size_to_str()

def SalomeOnDemandTK.extension_query.size_to_str (   size,
  format_in_bytes = False 
)
Returns a string describing a size.

Args:
    size - the size to represent as a string.
    format_in_bytes - if True, size is expressed in bytes,
        otherwise human readable units are used.

Returns:
    The size as a string with units.

Referenced by SalomeOnDemandTK.extension_query.dir_size_str(), and SalomeOnDemandTK.extension_query.ext_size_str().

Variable Documentation

◆ arg_1

SalomeOnDemandTK.extension_query.arg_1

◆ arg_2

SalomeOnDemandTK.extension_query.arg_2

◆ ext_list

def SalomeOnDemandTK.extension_query.ext_list = ext_by_dependants(ext_tree)

◆ ext_tree

def SalomeOnDemandTK.extension_query.ext_tree = dependency_tree(sys.argv[1])