xylem.sources package

Submodules

xylem.sources.database module

class xylem.sources.database.RulesDatabase(sources_context)

Bases: builtins.object

init_from_sources()
keys(installer_context)

Return list of keys defined for current os/version.

load_from_cache()
load_from_source()
lookup(xylem_key, installer_context)

Return rules for xylem key in current os.

save_to_cache()
update()
verify_unique_ids()
class xylem.sources.database.RulesSource(spec, arguments, origin, sources_context)

Bases: builtins.object

cache_file_path()
clear_cache()

Remove cache file.

Raises OSError:if cache file cannot be removed
is_cache_available()
is_cache_outdated()
keys(installer_context)

Return list of keys defined for current os/version.

load_from_cache()
load_from_source()
lookup(xylem_key, installer_context)
save_to_cache()
unique_id()

xylem.sources.impl module

class xylem.sources.impl.SourcesContext(prefix=None, xylem_dir=None, spec_plugins=None)

Bases: builtins.object

cache_dir_exists()
ensure_cache_dir()
get_spec(spec_name)
is_default_dirs()
setup_paths(prefix=None, xylem_dir=None)
sources_dir_exists()
exception xylem.sources.impl.UnknownSpecError

Bases: builtins.Exception

xylem.sources.impl.cache_dir_from_prefix(prefix)
xylem.sources.impl.cache_dir_from_xylem_dir(xylem_dir)
xylem.sources.impl.get_default_source_descriptions()

Return the list of default source urls.

Returns:lists of source urls keyed by spec type
Return type:dict`(:py:obj:`str: list`(:py:obj:`str))
xylem.sources.impl.get_source_descriptions(sources_dir)

Return a list of source urls.

Returns:lists of source urls keyed by spec, or None if no configs found
Return type:dict`(:py:obj:`str: list`(:py:obj:`str))
xylem.sources.impl.load_sources_from_path(path)

Return a list of source urls from a given directory of source lists.

Only files which have the .yaml extension are processed, other files, hidden files, and directories are ignored.

Parameters:path (str) – directory containing source list files
Returns:lists of source urls keyed by spec type
Return type:dict`(:py:obj:`str: list`(:py:obj:`str))
xylem.sources.impl.parse_source_descriptions(data, file_path='<string>')

Parse a YAML string as source descriptions.

If parsing failes an error message is printed to console and an empty list is returned.

Parameters:
  • data (str) – string containing YAML representation of source descriptions
  • file_path (str) – name of the file whose contents data contains
Returns:

tuple of file_path and parsed source descriptions

Return type:

tuple(str, list)

xylem.sources.impl.parse_source_file(file_path)

Parse a given list file and returns a list of source urls.

Parameters:file_path (str) – path to file containing a list of source urls
Returns:lists of source urls keyed by spec type
Return type:dict`(:py:obj:`str: list`(:py:obj:`str))
xylem.sources.impl.sources_dir_from_prefix(prefix)
xylem.sources.impl.sources_dir_from_xylem_dir(xylem_dir)
xylem.sources.impl.verify_source_description(descr)

Verify that a source description has valid structure.

Parameters:descr_list (dict) – source description
Raises ValueError:
 if structure of source description is invalid
xylem.sources.impl.verify_source_description_list(descr_list)

Verify that a source description list has valid structure.

Parameters:descr_list (list) – list of source descriptions
Raises ValueError:
 if structure of source descriptions is invalid

xylem.sources.rules_dict module

Module contents

class xylem.sources.SourcesContext(prefix=None, xylem_dir=None, spec_plugins=None)

Bases: builtins.object

cache_dir_exists()
ensure_cache_dir()
get_spec(spec_name)
is_default_dirs()
setup_paths(prefix=None, xylem_dir=None)
sources_dir_exists()
class xylem.sources.RulesDatabase(sources_context)

Bases: builtins.object

init_from_sources()
keys(installer_context)

Return list of keys defined for current os/version.

load_from_cache()
load_from_source()
lookup(xylem_key, installer_context)

Return rules for xylem key in current os.

save_to_cache()
update()
verify_unique_ids()