nmk_base.resolvers

Python module for base resolvers (to be used by other plugins).

Classes

FilesResolver

Base resolver class helping for files resolution.

MultiChoiceResolver

Multi-choice config item resolver base class

MultiStrChoiceResolver

Multi-choice string config item resolver class

MultiListChoiceResolver

Multi-choice list config item resolver class

MultiDictChoiceResolver

Multi-choice dict config item resolver class

CommandResolver

Command resolver class, allowing to resolve a command path.

Module Contents

class nmk_base.resolvers.FilesResolver(model: nmk.model.model.NmkModel)

Bases: nmk.model.resolver.NmkListConfigResolver

Base resolver class helping for files resolution.

property folder_config: str

Can be overridden by sub-classes. This property is used to identify the config item identifying the folder(s) where to search files.

Returns:

Name of the config item holding the folder(s) to be searched for files; Default is “PROJECTDIR”

property extension: str

Can be overridden by sub-classes. This property is used to identify the extension of files to be searched

Returns:

Extension to be searched in folder(s); Default is “.

get_value(name: str, folder: str | list[str] | None = None, extension: str | None = None) list[pathlib.Path]

Files resolution logic: iterate on provided folders (from config item name), and filter on provided extension.

Parameters:
  • name – Name of the config item to be resolved (not used in this resolver)

  • folder – Specific folder(s) to search in (overrides folder_config property)

  • extension – Specific extension to search for (overrides extension property)

Returns:

List of found files

class nmk_base.resolvers.MultiChoiceResolver(model: nmk.model.model.NmkModel)

Bases: nmk.model.resolver.NmkConfigResolver

Multi-choice config item resolver base class

get_value(name: str, key: int | str | bool, choices: dict[int | str | bool, _MultiChoiceValue], default: _MultiChoiceValue) _MultiChoiceValue

Resolve multi-choice config item value using provided key and available choices

Parameters:
  • name – config item name

  • key – key to select value

  • choices – available choices

  • default – default value

Returns:

item value

class nmk_base.resolvers.MultiStrChoiceResolver(model: nmk.model.model.NmkModel)

Bases: MultiChoiceResolver, nmk.model.resolver.NmkStrConfigResolver

Multi-choice string config item resolver class

class nmk_base.resolvers.MultiListChoiceResolver(model: nmk.model.model.NmkModel)

Bases: MultiChoiceResolver, nmk.model.resolver.NmkListConfigResolver

Multi-choice list config item resolver class

class nmk_base.resolvers.MultiDictChoiceResolver(model: nmk.model.model.NmkModel)

Bases: MultiChoiceResolver, nmk.model.resolver.NmkDictConfigResolver

Multi-choice dict config item resolver class

class nmk_base.resolvers.CommandResolver(model: nmk.model.model.NmkModel)

Bases: nmk.model.resolver.NmkStrConfigResolver

Command resolver class, allowing to resolve a command path.

get_value(name: str, command: str, custom_path: str) str

Resolve command path (from custom path, if any, or from system path)

Parameters:
  • name – config item name

  • command – command name (to be resolved from system path)

  • custom_path – custom path to be used for command resolution (overrides system path)

Returns:

command path