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