procman.utils module

procman utils for file handling and config parsing.

class procman.utils.MyYAML(**kwargs)[source]

Bases: YAML

Simple YAML subclass with default indenting. Useful in old RHEL environments with ruamel.yaml==0.16.6.

procman.utils.get_env_prefix()[source]

Get user-supplied prefix from environment and expand it when used in get_userscripts.

Returns:

prefix path

Return type:

str

procman.utils.get_userscripts(usr_cfg, usr_file, demo_mode=False)[source]

Get user scripts from Munchified user cfg.

Parameters:
  • usr_cfg (Munch) – user configuration

  • usr_file (Path) – user config file

  • demo_mode (bool) – run example scripts (self-test)

Returns:

list of lists with user scripts

Return type:

List[List[str]]

procman.utils.load_base_config()[source]

Load initial procman config with our baseline example values. This is used to both run the example flask app and provide a user-facing example configuration.

Returns:

Munch config obj

Return type:

Munch

procman.utils.load_config(ufile='', file_extension='.yaml')[source]

Load yaml configuration file and munchify the data. If ENV path or local file is not found in current directory, the default cfg will be loaded. Note that passing ufile as a parameter overrides the above default.

Parameters:
  • ufile (str) – path string for config file

  • file_extension (str) – file extension with leading separator

Returns:

cfg Munch and file Path

Raises:

FileTypeError – if the input file is not yml

Return type:

Tuple[Munch, Path]