]> git.scottworley.com Git - paperdoorknob/blobdiff - args.py
FakeFetcher: Show bad URLs in error messages
[paperdoorknob] / args.py
diff --git a/args.py b/args.py
index 62b9404e93479dfdf0f456c88e144bf5edc83d14..8f77a887547b403d311ee0939a5a423b168aa88a 100644 (file)
--- a/args.py
+++ b/args.py
@@ -15,7 +15,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 BelowIconLayout
+from glowfic import BesideIconLayout, BelowIconLayout, Layout
 from htmlfilter import ApplyHTMLFilters, HTMLFilters
 from images import DiskImageStore
 from spec import Spec
 from htmlfilter import ApplyHTMLFilters, HTMLFilters
 from images import DiskImageStore
 from spec import Spec
@@ -44,6 +44,15 @@ See https://faculty.bard.edu/bloch/geometry.pdf for details
         '--htmlfilters',
         help='Which HTML filters to use (default: %(default)s)',
         default=','.join(f[0] for f in HTMLFilters))
         '--htmlfilters',
         help='Which HTML filters to use (default: %(default)s)',
         default=','.join(f[0] for f in HTMLFilters))
+    parser.add_argument(
+        '--image_size',
+        help='How large the icon images are, in mm',
+        default=20)
+    parser.add_argument(
+        '--layout',
+        default='below',
+        help='Whether to put character and author information `beside` or `below` the icon ' +
+             '(default: below)')
     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 ' +
@@ -64,6 +73,13 @@ 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
+    if args.layout == 'below':
+        layout = BelowIconLayout(texifier, args.image_size)
+    elif args.layout == 'beside':
+        layout = BesideIconLayout(texifier, args.image_size)
+    else:
+        raise ValueError(f'Unknown layout: {args.layout}')
     with CachingFetcher(args.cache_path, args.timeout) as fetcher:
         with open(args.out + '.tex', 'wb') as texout:
             yield Spec(
     with CachingFetcher(args.cache_path, args.timeout) as fetcher:
         with open(args.out + '.tex', 'wb') as texout:
             yield Spec(
@@ -72,6 +88,6 @@ 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),
-                BelowIconLayout(texifier),
+                layout,
                 args.geometry,
                 texout)
                 args.geometry,
                 texout)