]> git.scottworley.com Git - paperdoorknob/blobdiff - args.py
--quiet flag to suppress progress messages
[paperdoorknob] / args.py
diff --git a/args.py b/args.py
index 384e4487b76bfb918f7316dee8604276f92e1cc5..c5506729797f32ac2e8aaa9b050aae065da81082 100644 (file)
--- a/args.py
+++ b/args.py
@@ -8,6 +8,7 @@
 from argparse import ArgumentParser
 from contextlib import contextmanager
 import os.path
+from sys import stderr
 
 from typing import Iterator
 
@@ -23,6 +24,10 @@ from spec import Spec
 from texify import PandocTexifier
 
 
+def _print_status(msg: str) -> None:
+    print(msg, file=stderr, end='' if msg.endswith('\r') else '\n')
+
+
 def _command_line_parser() -> ArgumentParser:
     parser = ArgumentParser(prog='paperdoorknob', description='Print glowfic')
     parser.add_argument(
@@ -60,6 +65,10 @@ See https://faculty.bard.edu/bloch/geometry.pdf for details
              '(eg: "%(default)s" produces %(default)s.tex, %(default)s.pdf, etc.)',
         default='book')
     parser.add_argument('--pandoc', help='Location of the pandoc executable')
+    parser.add_argument(
+        '--quiet',
+        action='store_true',
+        help='Suppress progress messages')
     parser.add_argument(
         '--texfilters',
         help='Which TeX filters to use (default: %(default)s)',
@@ -96,4 +105,5 @@ def spec_from_commandline_args() -> Iterator[Spec]:
                 lambda x: ApplyTexFilters(args.texfilters, x),
                 layout,
                 args.geometry,
-                texout)
+                texout,
+                (lambda _: None) if args.quiet else _print_status)