]> git.scottworley.com Git - paperdoorknob/blobdiff - args.py
More structure and tests around splitting the page into chunks' DOMs.
[paperdoorknob] / args.py
diff --git a/args.py b/args.py
index 2198a1dae5e13a50ce23269093d3414072d66227..d90de8a78b7e32207c66fe6ee19d7939de634483 100644 (file)
--- a/args.py
+++ b/args.py
@@ -16,6 +16,7 @@ from xdg_base_dirs import xdg_cache_home
 from domfilter import ApplyDOMFilters, DOMFilters
 from fetch import CachingFetcher
 from htmlfilter import ApplyHTMLFilters, HTMLFilters
 from domfilter import ApplyDOMFilters, DOMFilters
 from fetch import CachingFetcher
 from htmlfilter import ApplyHTMLFilters, HTMLFilters
+from images import ImageStore
 from spec import Spec
 from texify import PandocTexifier
 
 from spec import Spec
 from texify import PandocTexifier
 
@@ -31,6 +32,13 @@ def _command_line_parser() -> ArgumentParser:
         '--domfilters',
         help='Which DOM filters to use (default: %(default)s)',
         default=','.join(f[0] for f in DOMFilters))
         '--domfilters',
         help='Which DOM filters to use (default: %(default)s)',
         default=','.join(f[0] for f in DOMFilters))
+    parser.add_argument(
+        '--geometry',
+        help='''Page size and margin control
+See https://faculty.bard.edu/bloch/geometry.pdf for details
+(default: %(default)s)''',
+        default='paperwidth=5.5in,paperheight=8.5in,nohead,' +
+        'tmargin=15mm,hmargin=15mm,bmargin=17mm,foot=4mm')
     parser.add_argument(
         '--htmlfilters',
         help='Which HTML filters to use (default: %(default)s)',
     parser.add_argument(
         '--htmlfilters',
         help='Which HTML filters to use (default: %(default)s)',
@@ -45,7 +53,9 @@ def _command_line_parser() -> ArgumentParser:
         '--timeout',
         help='How long to wait for HTTP requests, in seconds',
         default=30)
         '--timeout',
         help='How long to wait for HTTP requests, in seconds',
         default=30)
-    parser.add_argument('url', help='URL to retrieve')
+    parser.add_argument(
+        'url',
+        help='URL to retrieve (example: https://www.projectlawful.com/posts/4582 )')
     return parser
 
 
     return parser
 
 
@@ -57,7 +67,9 @@ def spec_from_commandline_args() -> Iterator[Spec]:
             yield Spec(
                 args.url,
                 fetcher,
             yield Spec(
                 args.url,
                 fetcher,
+                ImageStore(args.out + '_images', fetcher),
                 lambda x: ApplyHTMLFilters(args.htmlfilters, x),
                 lambda x: ApplyDOMFilters(args.domfilters, x),
                 PandocTexifier(args.pandoc or 'pandoc'),
                 lambda x: ApplyHTMLFilters(args.htmlfilters, x),
                 lambda x: ApplyDOMFilters(args.domfilters, x),
                 PandocTexifier(args.pandoc or 'pandoc'),
+                args.geometry,
                 texout)
                 texout)