]> git.scottworley.com Git - paperdoorknob/blobdiff - args.py
Handle Unicode characters ≈ and ◁
[paperdoorknob] / args.py
diff --git a/args.py b/args.py
index c5506729797f32ac2e8aaa9b050aae065da81082..de6fc01f58d353c26cb245352640a0ad1970cc0b 100644 (file)
--- a/args.py
+++ b/args.py
@@ -16,7 +16,7 @@ from xdg_base_dirs import xdg_cache_home
 
 from domfilter import ApplyDOMFilters, DOMFilters
 from fetch import CachingFetcher
-from glowfic import BesideIconLayout, BelowIconLayout, Layout
+from glowfic import BesideIconLayout, BelowIconLayout
 from htmlfilter import ApplyHTMLFilters, HTMLFilters
 from texfilter import ApplyTexFilters, TexFilters
 from images import DiskImageStore
@@ -31,7 +31,7 @@ def _print_status(msg: str) -> None:
 def _command_line_parser() -> ArgumentParser:
     parser = ArgumentParser(prog='paperdoorknob', description='Print glowfic')
     parser.add_argument(
-        '--cache_path',
+        '--cache-path',
         metavar='PATH',
         help='Where to keep the http cache (instead of %(default)s)',
         default=os.path.join(xdg_cache_home(), "paperdoorknob"))
@@ -51,14 +51,14 @@ See https://faculty.bard.edu/bloch/geometry.pdf for details
         help='Which HTML filters to use (default: %(default)s)',
         default=','.join(f[0] for f in HTMLFilters))
     parser.add_argument(
-        '--image_size',
+        '--image-size',
         help='How large the icon images are, in mm',
         default=20)
     parser.add_argument(
         '--layout',
-        default='below',
+        default='beside',
         help='Whether to put character and author information `beside` or `below` the icon ' +
-             '(default: below)')
+             '(default: beside)')
     parser.add_argument(
         '--out',
         help='The filename stem at which to write output ' +
@@ -87,14 +87,15 @@ See https://faculty.bard.edu/bloch/geometry.pdf for details
 def spec_from_commandline_args() -> Iterator[Spec]:
     args = _command_line_parser().parse_args()
     texifier = PandocTexifier(args.pandoc or 'pandoc')
-    layout: Layout
+    layout: bytes
     if args.layout == 'below':
-        layout = BelowIconLayout(texifier, args.image_size)
+        layout = BelowIconLayout
     elif args.layout == 'beside':
-        layout = BesideIconLayout(texifier, args.image_size)
+        layout = BesideIconLayout
     else:
         raise ValueError(f'Unknown layout: {args.layout}')
-    with CachingFetcher(args.cache_path, args.timeout) as fetcher:
+    log = (lambda _: None) if args.quiet else _print_status
+    with CachingFetcher(args.cache_path, args.timeout, log) as fetcher:
         with open(args.out + '.tex', 'wb') as texout:
             yield Spec(
                 args.url,
@@ -102,8 +103,10 @@ def spec_from_commandline_args() -> Iterator[Spec]:
                 DiskImageStore(args.out + '_images', fetcher),
                 lambda x: ApplyHTMLFilters(args.htmlfilters, x),
                 lambda x: ApplyDOMFilters(args.domfilters, x),
+                texifier,
                 lambda x: ApplyTexFilters(args.texfilters, x),
+                args.image_size,
                 layout,
                 args.geometry,
                 texout,
-                (lambda _: None) if args.quiet else _print_status)
+                log)