scd.config¶
This module contains all routines, related to scd’s configuration.
-
class
scd.config.Config(configpath, version_scheme, config, extra_context)¶ Wrapper over parsed configuration data.
This wrapper provides methods for internal scd’s implementation.
You want to use this class to access configuration data.
Parameters: - configpath (str) – Path to the configuration file (can be relative).
- or None version_scheme (str) – Explicit version scheme to use.
- config (dict) – Parsed configuration.
- str] extra_context (dict[str,) – Additional context to use in templates.
Raises: ValueError – if configuration is not valid to schema.
-
project_directory¶ Absolute path to the directory with config file.
Returns: Absolute path to the directory. Return type: str
-
static
validate_schema(config)¶ Validate parsed content to comply with JSON Schema.
Parameters: config (dict) – Parsed configuration. Returns: A list of errors, found during verification. If list is empty, everyting is valid. Return type: list[str]
-
class
scd.config.V1Config(configpath, version_scheme, config, extra_context)¶ Implementation of
Configfor config version 1.-
defaults¶ A mapping of default search/replace patterns from config file.
Returns: Raw mapping, as is. Return type: dict[str, str]
-
files¶ A list of files defines in config file.
Returns: List of file instances Return type: list[ scd.files.File]
-
filter_files(required_groups, required_files)¶ Filter and return only those files which are required.
This uses groups and
required_filesparameter filtering.Parameters: - required_groups (list[str]) – A list of mandatory groups
- required_files (list[str]) – A list of mandatory files
Returns: A list of files after filtering.
Return type: list[
scd.files.File]
-
groups¶ A list of groups defined in config file.
Returns: List of group names Return type: list[str, str]
-
replacement_patterns¶ A mapping of replacement patterns (name/repl) from config file.
Returns: Raw mapping, as is. Return type: dict[str, str]
-
search_patterns¶ A mapping of search patterns (name/pattern) from config file.
Returns: Raw mapping, as is. Return type: dict[str, str]
-
version¶ Instance of
scd.version.Version.This instance is created based on data from config file.
Returns: Version Return type: scd.version.Version
-
version_number¶ Base version number from config file.
Returns: Literal number from config Return type: str
-
version_scheme¶ Scheme of the versioning from config file.
For example, it can be
git_pep440.Returns: Version scheme Return type: str
-
-
scd.config.get_json_parser()¶ Function which detects what parser should be used for parsing JSONs.
It uses following logic: if simplejson is available, it would be used, otherwise default
jsonwill work.Returns: JSON parser Return type: Parser
-
scd.config.get_parsers()¶ Function to detect locally available parsers.
Returns: A list of available parsers for config files. Return type: list[ Parser]
-
scd.config.get_toml_parser()¶ Function which detects what parser should be used for parsing TOMLs.
It uses following logic: if toml is available, it would be used, otherwise
Noneis returned.Returns: TOML parser or Noneif nothing found.Return type: Parseror None
-
scd.config.get_yaml_parser()¶ Function which detects what parser should be used for parsing YAMLs.
It uses following logic: if PyYAML is available, it would be used, otherwise it will try for ruamel.yaml.
Returns: YAML parser or Noneif nothing found.Return type: Parseror None
-
scd.config.make_config(filename, version_scheme, content, extra_context)¶ Function to generate config based on incoming parameters.
This function does validation of config version.
Parameters: - filename (str) – Path to the configuration file (can be relative).
- or None version_scheme (str) – Explicit version scheme to use.
- content (dict) – Parsed configuration.
- str] extra_context (dict[str,) – Additional context to use in templates.
Raises: ValueError – if config version is not supported.
-
scd.config.parse(fileobj, version_scheme, extra_context)¶ Function which parses given file-like object with config data.
Parameters: - fileobj (file-like object) – Open file object for parsing.
- or None version_scheme (str) – Explicit version scheme to use.
- str] extra_context (dict[str,) – Additional context to use in templates.
Returns: Parsed config
Return type: Raises: ValueError – if not possible to parse config in any way.