From 8e6e230a2a617d0f00077a870caf61a218e00ffb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= <hugo@lysator.liu.se> Date: Mon, 3 Jul 2023 23:48:57 +0200 Subject: [PATCH] Set up logging. --- muppet/__main__.py | 15 +++++++++++++++ muppet/output.py | 11 +++++++++++ muppet/puppet/parser.py | 4 ++++ 3 files changed, 30 insertions(+) diff --git a/muppet/__main__.py b/muppet/__main__.py index b064cf1..d72c161 100644 --- a/muppet/__main__.py +++ b/muppet/__main__.py @@ -3,12 +3,26 @@ import argparse import pathlib import os +import logging +import colorlog from .cache import Cache from .gather import get_module, get_modules, ModuleEntry from .output import setup_index, setup_module +logger = logging.getLogger('muppet') +logger.setLevel(logging.DEBUG) + + +ch = colorlog.StreamHandler() +ch.setLevel(logging.INFO) +# formatter = logging.Formatter('%(name)s - %(levelname)s - %(message)s') +formatter = colorlog.ColoredFormatter('%(log_color)s%(name)s - %(levelname)s - %(message)s') +ch.setFormatter(formatter) +logger.addHandler(ch) + + def __main() -> None: parser = argparse.ArgumentParser( prog='puppet-doc configure', @@ -45,6 +59,7 @@ def __main() -> None: for module in modules: # print(module) + logger.info('Handling %s', module.name) setup_module('output', module, path_base=args.path_base) os.system('make -C static-src --silent install-full PREFIX=$PWD/output') diff --git a/muppet/output.py b/muppet/output.py index 016de72..c3a24ca 100644 --- a/muppet/output.py +++ b/muppet/output.py @@ -33,6 +33,7 @@ from .puppet.strings import ( DataTypeAlias, PuppetClass, ) +import logging from .breadcrumbs import breadcrumbs from .syntax_highlight import highlight @@ -40,6 +41,9 @@ from dataclasses import dataclass, field from . import templates +logger = logging.getLogger(__name__) + + # TODO replace 'output' with base, or put this somewhere else pathlib.Path('output').mkdir(exist_ok=True) jinja = Environment( @@ -496,6 +500,7 @@ def setup_module(base: str, module: ModuleEntry, *, path_base: str) -> None: data = module.strings_output for puppet_class in data.puppet_classes + data.defined_types: + logger.debug('Formamting %s', puppet_class.name) # localpath = puppet_class['name'].split('::') localpath, _ = os.path.splitext(puppet_class.file) dir = os.path.join(path, localpath) @@ -552,6 +557,8 @@ def setup_module(base: str, module: ModuleEntry, *, path_base: str) -> None: # puppet_class['line'] for type_alias in data.data_type_aliases: + logger.debug('Formamting %s', type_alias.name) + localpath, _ = os.path.splitext(type_alias.file) dir = os.path.join(path, localpath) pathlib.Path(dir).mkdir(parents=True, exist_ok=True) @@ -576,6 +583,8 @@ def setup_module(base: str, module: ModuleEntry, *, path_base: str) -> None: files: dict[str, str] = {} for file in module.doc_files: + logger.debug('Formamting %s', file) + basename = os.path.basename(file) if basename == 'REFERENCE.md': with open(file) as f: @@ -588,6 +597,8 @@ def setup_module(base: str, module: ModuleEntry, *, path_base: str) -> None: doc_files: dict[str, str] = {} for filename, filepath in files.items(): + logger.debug('Formamting %s', filename) + name, _ = os.path.splitext(filename) with open(filepath) as f: raw_content = f.read() diff --git a/muppet/puppet/parser.py b/muppet/puppet/parser.py index 846ce11..b957303 100644 --- a/muppet/puppet/parser.py +++ b/muppet/puppet/parser.py @@ -11,6 +11,10 @@ import json from typing import Any, TypeAlias, Union from ..cache import Cache +import logging + + +logger = logging.getLogger(__name__) # TODO cache path -- GitLab