diff --git a/PFERD/__main__.py b/PFERD/__main__.py index 8cb6a11..0fbce59 100644 --- a/PFERD/__main__.py +++ b/PFERD/__main__.py @@ -39,11 +39,17 @@ def load_config(args: argparse.Namespace) -> Config: def configure_logging_from_args(args: argparse.Namespace) -> None: if args.explain is not None: log.output_explain = args.explain + if args.status is not None: + log.output_status = args.status + if args.report is not None: + log.output_report = args.report # We want to prevent any unnecessary output if we're printing the config to # stdout, otherwise it would not be a valid config file. if args.dump_config == "-": log.output_explain = False + log.output_status = False + log.output_report = False def configure_logging_from_config(args: argparse.Namespace, config: Config) -> None: @@ -56,6 +62,10 @@ def configure_logging_from_config(args: argparse.Namespace, config: Config) -> N try: if args.explain is None: log.output_explain = config.default_section.explain() + if args.status is None: + log.output_status = config.default_section.status() + if args.report is None: + log.output_report = config.default_section.report() except ConfigOptionError as e: log.error(str(e)) exit(1) diff --git a/PFERD/cli/parser.py b/PFERD/cli/parser.py index 66c5959..346070f 100644 --- a/PFERD/cli/parser.py +++ b/PFERD/cli/parser.py @@ -159,6 +159,16 @@ PARSER.add_argument( action=BooleanOptionalAction, help="log and explain in detail what PFERD is doing" ) +PARSER.add_argument( + "--status", + action=BooleanOptionalAction, + help="print status updates while PFERD is crawling" +) +PARSER.add_argument( + "--report", + action=BooleanOptionalAction, + help="print a report of all local changes before exiting" +) def load_default_section( diff --git a/PFERD/config.py b/PFERD/config.py index 3c69fc7..0c99683 100644 --- a/PFERD/config.py +++ b/PFERD/config.py @@ -75,6 +75,12 @@ class DefaultSection(Section): def explain(self) -> bool: return self.s.getboolean("explain", fallback=False) + def status(self) -> bool: + return self.s.getboolean("status", fallback=True) + + def report(self) -> bool: + return self.s.getboolean("report", fallback=True) + class Config: @staticmethod