nmk_base.resolvers ================== .. py:module:: nmk_base.resolvers .. autoapi-nested-parse:: Python module for base resolvers (to be used by other plugins). Classes ------- .. autoapisummary:: nmk_base.resolvers.FilesResolver nmk_base.resolvers.MultiChoiceResolver nmk_base.resolvers.MultiStrChoiceResolver nmk_base.resolvers.MultiListChoiceResolver nmk_base.resolvers.MultiDictChoiceResolver nmk_base.resolvers.CommandResolver Module Contents --------------- .. py:class:: FilesResolver(model: nmk.model.model.NmkModel) Bases: :py:obj:`nmk.model.resolver.NmkListConfigResolver` Base resolver class helping for files resolution. .. py:property:: folder_config :type: str Can be overridden by sub-classes. This property is used to identify the config item identifying the folder(s) where to search files. :return: Name of the config item holding the folder(s) to be searched for files; Default is "PROJECTDIR" .. py:property:: extension :type: str Can be overridden by sub-classes. This property is used to identify the extension of files to be searched :return: Extension to be searched in folder(s); Default is "*.*" .. py:method:: 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. :param name: Name of the config item to be resolved (not used in this resolver) :param folder: Specific folder(s) to search in (overrides folder_config property) :param extension: Specific extension to search for (overrides extension property) :return: List of found files .. py:class:: MultiChoiceResolver(model: nmk.model.model.NmkModel) Bases: :py:obj:`nmk.model.resolver.NmkConfigResolver` Multi-choice config item resolver base class .. py:method:: 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 :param name: config item name :param key: key to select value :param choices: available choices :param default: default value :return: item value .. py:class:: MultiStrChoiceResolver(model: nmk.model.model.NmkModel) Bases: :py:obj:`MultiChoiceResolver`, :py:obj:`nmk.model.resolver.NmkStrConfigResolver` Multi-choice string config item resolver class .. py:class:: MultiListChoiceResolver(model: nmk.model.model.NmkModel) Bases: :py:obj:`MultiChoiceResolver`, :py:obj:`nmk.model.resolver.NmkListConfigResolver` Multi-choice list config item resolver class .. py:class:: MultiDictChoiceResolver(model: nmk.model.model.NmkModel) Bases: :py:obj:`MultiChoiceResolver`, :py:obj:`nmk.model.resolver.NmkDictConfigResolver` Multi-choice dict config item resolver class .. py:class:: CommandResolver(model: nmk.model.model.NmkModel) Bases: :py:obj:`nmk.model.resolver.NmkStrConfigResolver` Command resolver class, allowing to resolve a command path. .. py:method:: get_value(name: str, command: str, custom_path: str) -> str Resolve command path (from custom path, if any, or from system path) :param name: config item name :param command: command name (to be resolved from system path) :param custom_path: custom path to be used for command resolution (overrides system path) :return: command path