From: Scott Worley Date: Mon, 1 Jan 2024 02:54:30 +0000 (-0800) Subject: Put Texifier in spec X-Git-Url: http://git.scottworley.com/paperdoorknob/commitdiff_plain/bbfe8e520fea31ad19b8bc2ab5bc02cc5cddb205?ds=inline Put Texifier in spec --- diff --git a/args.py b/args.py index 45c080a..ede8471 100644 --- a/args.py +++ b/args.py @@ -103,6 +103,7 @@ def spec_from_commandline_args() -> Iterator[Spec]: DiskImageStore(args.out + '_images', fetcher), lambda x: ApplyHTMLFilters(args.htmlfilters, x), lambda x: ApplyDOMFilters(args.domfilters, x), + texifier, lambda x: ApplyTexFilters(args.texfilters, x), args.image_size, layout, diff --git a/paperdoorknob_test.py b/paperdoorknob_test.py index 286d6a9..28408d6 100644 --- a/paperdoorknob_test.py +++ b/paperdoorknob_test.py @@ -35,15 +35,17 @@ class BaseTestProcess(ABC): def testProcess(self) -> None: buf = io.BytesIO() + texifier = PandocTexifier('pandoc') spec = Spec( self.url(), self.fetcher(), FakeImageStore(), lambda x: x, lambda x: None, + texifier, lambda x: x, 20, - ContentOnlyLayout(PandocTexifier('pandoc')), + ContentOnlyLayout(texifier), 'margin=20mm', buf, lambda _: None) @@ -71,6 +73,7 @@ Pretty sure. FakeImageStore(), lambda x: x, lambda x: None, + texifier, lambda x: x, 20, ContentOnlyLayout(texifier), @@ -80,6 +83,7 @@ Pretty sure. paperdoorknob.process(spec) def testPDF(self) -> None: + texifier = PandocTexifier('pandoc') with open("test.tex", 'wb') as out: spec = Spec( self.url(), @@ -87,9 +91,10 @@ Pretty sure. FakeImageStore(), lambda x: x, lambda x: None, + texifier, lambda x: x, 20, - BesideIconLayout(PandocTexifier('pandoc')), + BesideIconLayout(texifier), None, out, lambda _: None) diff --git a/spec.py b/spec.py index c4975b5..3aa7292 100644 --- a/spec.py +++ b/spec.py @@ -14,6 +14,7 @@ from bs4.element import Tag from fetch import Fetcher from glowfic import Layout from images import ImageStore +from texify import Texifier # pylint: disable=too-many-instance-attributes @@ -24,6 +25,7 @@ class Spec: images: ImageStore htmlfilter: Callable[[bytes], bytes] domfilter: Callable[[Tag], None] + texifier: Texifier texfilter: Callable[[bytes], bytes] icon_size: float layout: Layout