]> git.scottworley.com Git - paperdoorknob/blobdiff - args.py
Move per-thread processing stuff into Thread
[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 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
 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(
 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"))
         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(
         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',
         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 ' +
         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 ' +
     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')
 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':
     if args.layout == 'below':
-        layout = BelowIconLayout(texifier, args.image_size)
+        layout = BelowIconLayout
     elif args.layout == 'beside':
     elif args.layout == 'beside':
-        layout = BesideIconLayout(texifier, args.image_size)
+        layout = BesideIconLayout
     else:
         raise ValueError(f'Unknown layout: {args.layout}')
     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,
         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),
                 DiskImageStore(args.out + '_images', fetcher),
                 lambda x: ApplyHTMLFilters(args.htmlfilters, x),
                 lambda x: ApplyDOMFilters(args.domfilters, x),
+                texifier,
                 lambda x: ApplyTexFilters(args.texfilters, x),
                 lambda x: ApplyTexFilters(args.texfilters, x),
+                args.image_size,
                 layout,
                 args.geometry,
                 texout,
                 layout,
                 args.geometry,
                 texout,
-                (lambda _: None) if args.quiet else _print_status)
+                log)