X-Git-Url: http://git.scottworley.com/paperdoorknob/blobdiff_plain/c04b2e7812ebd48c2d9273122deef888483bc9f6..c62e8d404dd179bc5a84794f307120572185e397:/args.py diff --git a/args.py b/args.py index fb36083..e952c45 100644 --- a/args.py +++ b/args.py @@ -15,7 +15,9 @@ from xdg_base_dirs import xdg_cache_home from domfilter import ApplyDOMFilters, DOMFilters from fetch import CachingFetcher +from glowfic import BelowIconLayout from htmlfilter import ApplyHTMLFilters, HTMLFilters +from images import DiskImageStore from spec import Spec from texify import PandocTexifier @@ -31,10 +33,21 @@ def _command_line_parser() -> ArgumentParser: '--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)', 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( '--out', help='The filename stem at which to write output ' + @@ -54,12 +67,15 @@ def _command_line_parser() -> ArgumentParser: @contextmanager def spec_from_commandline_args() -> Iterator[Spec]: args = _command_line_parser().parse_args() + texifier = PandocTexifier(args.pandoc or 'pandoc') with CachingFetcher(args.cache_path, args.timeout) as fetcher: with open(args.out + '.tex', 'wb') as texout: yield Spec( args.url, fetcher, + DiskImageStore(args.out + '_images', fetcher), lambda x: ApplyHTMLFilters(args.htmlfilters, x), lambda x: ApplyDOMFilters(args.domfilters, x), - PandocTexifier(args.pandoc or 'pandoc'), + BelowIconLayout(texifier, args.image_size), + args.geometry, texout)