Source code for pkglts.option.doc.option

import logging
from pathlib import Path

from pkglts.dependency import Dependency
from pkglts.option_object import Option
from pkglts.option_tools import available_options
from pkglts.version import __version__
from . import history

LOGGER = logging.getLogger(__name__)


[docs] class OptionDoc(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) sec = dict( description="belle petite description", fmt="rst", keywords=[], ) cfg[self._name] = sec
[docs] def check(self, cfg): invalids = [] description = cfg[self._name]['description'] fmt = cfg[self._name]['fmt'] # keywords = env.globals['doc'].keywords if not description: invalids.append("doc.description") if fmt not in ('rst', 'md'): invalids.append("doc.fmt") return invalids
[docs] def require_option(self, cfg): return ['base']
[docs] def require(self, cfg): if cfg[self._name]['fmt'] == 'md': yield Dependency('mkdocs', intent='doc')
[docs] def environment_extensions(self, cfg): badges = [] for name in sorted(set(cfg.installed_options()) - {self._name}): opt = available_options[name] ext = opt.environment_extensions(cfg) if 'badge' in ext: badges.append(ext['badge']) if 'badges' in ext: badges.extend(ext['badges']) return {"badges": badges}
[docs] def tools(self, cfg): del cfg yield history.parser_history