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