]> 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 e952c45040c77f503e7ec8cd2990540b87f3dbd0..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
@@ -48,6 +48,11 @@ See https://faculty.bard.edu/bloch/geometry.pdf for details
         '--image_size',
         help='How large the icon images are, in mm',
         default=20)
         '--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 ' +
@@ -68,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(
@@ -76,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, args.image_size),
+                layout,
                 args.geometry,
                 texout)
                 args.geometry,
                 texout)