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")