Source code for pkglts.option.plugin_project.option

import logging
from pathlib import Path

from pkglts.dependency import Dependency
from pkglts.option_object import Option
from pkglts.version import __version__

LOGGER = logging.getLogger(__name__)


[docs] class OptionPluginProject(Option):
[docs] def version(self): return __version__
[docs] def root_dir(self): return Path(__file__).parent
[docs] def update_parameters(self, cfg): LOGGER.info("update parameters %s", self._name) cfg[self._name] = { "plugin_name": "{{ base.pkgname }}" }
[docs] def check(self, cfg): invalids = [] plugin_name = cfg[self._name]['plugin_name'] if "." in plugin_name: invalids.append('plugin_project.plugin_name') elif not plugin_name.isidentifier(): invalids.append('plugin_project.plugin_name') return invalids
[docs] def require_option(self, cfg): return ['pyproject', 'data', 'git']
[docs] def require(self, cfg): del cfg yield Dependency('pkglts', intent='install', channel='revesansparole')