files_specs module

Define parameters necessary to define files.

Note

We define custom TableConfSpec class in order to also set up the folder to store results and the logging tool.

class FilesTableConfSpec(configured_object, table_entry, specs, is_mandatory=True, can_have_untested_keys=False, selectkey_n_default=None, monkey_patches=None)[source]

Bases: TableConfSpec

Override the default table to add logging and results folder set up.

Parameters:
_pre_treat(toml_table, **kwargs)[source]

Set up the logging as well as the results folder.

Note

The toml_folder required by _create_project_folders is in the kwargs.

Parameters:

toml_table (dict[str, Any])

Return type:

None

_set_up_logging(project_path, log_file='lightwin.log', logfile_log_level='INFO', console_log_level='INFO', **toml_subdict)[source]

Set up the logging.

Parameters:
  • project_path (Path)

  • log_file (str, default: 'lightwin.log')

  • logfile_log_level (Literal['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'], default: 'INFO')

  • console_log_level (Literal['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'], default: 'INFO')

Return type:

None

_create_project_folders(toml_folder, project_folder='', **toml_subdict)[source]

Create a folder to store outputs and log messages.

Parameters:
  • toml_folder (Path)

  • project_folder (str | Path, default: '')

Return type:

Path

_set_project_path(toml_folder, project_folder='')[source]

Create a default project folder name if not given.

Parameters:
  • toml_folder (Path)

  • project_folder (str | Path, default: '')

Return type:

tuple[Path, bool]