Changeset - e07a47ec8f8b
[Not reviewed]
0 2 0
Brett Smith - 4 years ago 2020-05-30 02:05:26
brettcsmith@brettcsmith.org
accrual: Use cliutil for better logging and error reporting.
2 files changed with 15 insertions and 17 deletions:
0 comments (0 inline, 0 general)
conservancy_beancount/reports/accrual.py
Show inline comments
...
 
@@ -93,2 +93,3 @@ from beancount.parser import printer as bc_printer
 
from . import core
 
from .. import cliutil
 
from .. import config as configmod
...
 
@@ -98,2 +99,4 @@ from .. import rtutil
 

	
 
PROGNAME = 'accrual-report'
 

	
 
PostGroups = Mapping[Optional[MetaValue], core.RelatedPostings]
...
 
@@ -101,3 +104,3 @@ RTObject = Mapping[str, str]
 

	
 
_logger = logging.getLogger('conservancy_beancount.reports.accrual')
 
logger = logging.getLogger('conservancy_beancount.reports.accrual')
 

	
...
 
@@ -136,3 +139,3 @@ class BaseReport:
 
        self.out_file = out_file
 
        self.logger = _logger.getChild(type(self).__name__)
 
        self.logger = logger.getChild(type(self).__name__)
 

	
...
 
@@ -351,3 +354,4 @@ def filter_search(postings: Iterable[data.Posting],
 
def parse_arguments(arglist: Optional[Sequence[str]]=None) -> argparse.Namespace:
 
    parser = argparse.ArgumentParser()
 
    parser = argparse.ArgumentParser(prog=PROGNAME)
 
    cliutil.add_version_argument(parser)
 
    parser.add_argument(
...
 
@@ -370,2 +374,3 @@ previous fiscal year).
 
""")
 
    cliutil.add_loglevel_argument(parser)
 
    parser.add_argument(
...
 
@@ -383,9 +388,2 @@ metadata to match. A single ticket number is a shortcut for
 

	
 
def setup_logger(logger: logging.Logger, loglevel: int, stream: TextIO=sys.stderr) -> None:
 
    formatter = logging.Formatter('%(name)s: %(levelname)s: %(message)s')
 
    handler = logging.StreamHandler(stream)
 
    handler.setFormatter(formatter)
 
    logger.addHandler(handler)
 
    logger.setLevel(loglevel)
 

	
 
def main(arglist: Optional[Sequence[str]]=None,
...
 
@@ -394,10 +392,9 @@ def main(arglist: Optional[Sequence[str]]=None,
 
         config: Optional[configmod.Config]=None,
 
         logger: Optional[logging.Logger]=None,
 
) -> int:
 
    if logger is None:
 
        global _logger
 
        _logger = logger = logging.getLogger('accrual-report')
 
        setup_logger(_logger, logging.INFO, stderr)
 
    returncode = 0
 
    if cliutil.is_main_script():
 
        global logger
 
        logger = logging.getLogger(PROGNAME)
 
        sys.excepthook = cliutil.ExceptHook(logger)
 
    args = parse_arguments(arglist)
 
    cliutil.setup_logger(logger, args.loglevel, stderr)
 
    if config is None:
...
 
@@ -419,2 +416,3 @@ def main(arglist: Optional[Sequence[str]]=None,
 
    meta_errors = consistency_check(groups)
 
    returncode = 0
 
    for error in load_errors:
setup.py
Show inline comments
...
 
@@ -7,3 +7,3 @@ setup(
 
    description="Plugin, library, and reports for reading Conservancy's books",
 
    version='1.0.7',
 
    version='1.0.8',
 
    author='Software Freedom Conservancy',
0 comments (0 inline, 0 general)