From 7903d5f49772b05334f2eb67dae134016555b616 Mon Sep 17 00:00:00 2001 From: "Martin A. Brown" Date: Thu, 25 Feb 2016 10:35:46 -0800 Subject: [PATCH] config_fragment becomes staticmethod in class the config_fragment function becomes a part of each doctype class, allowing better encapsulation of most/all document type handling logic the config_fragment function becomes a staticmethod called argparse --- tldp/doctypes/docbook4xml.py | 50 +++++++++++++++++++----------------- tldp/doctypes/docbook5xml.py | 31 +++++++++++----------- tldp/doctypes/docbooksgml.py | 50 +++++++++++++++++++----------------- tldp/doctypes/linuxdoc.py | 26 ++++++++++--------- 4 files changed, 82 insertions(+), 75 deletions(-) diff --git a/tldp/doctypes/docbook4xml.py b/tldp/doctypes/docbook4xml.py index d1948a0..388260c 100644 --- a/tldp/doctypes/docbook4xml.py +++ b/tldp/doctypes/docbook4xml.py @@ -28,30 +28,6 @@ def xslprint_finder(): return firstfoundfile(l) -def config_fragment(p): - p.add_argument('--docbook4xml-xslchunk', type=arg_isreadablefile, - default=xslchunk_finder(), - help='full path to LDP HTML chunker XSL [%(default)s]') - p.add_argument('--docbook4xml-xslsingle', type=arg_isreadablefile, - default=xslsingle_finder(), - help='full path to LDP HTML single-page XSL [%(default)s]') - p.add_argument('--docbook4xml-xslprint', type=arg_isreadablefile, - default=xslprint_finder(), - help='full path to LDP FO print XSL [%(default)s]') - p.add_argument('--docbook4xml-xsltproc', type=arg_isexecutable, - default=which('xsltproc'), - help='full path to xsltproc [%(default)s]') - p.add_argument('--docbook4xml-html2text', type=arg_isexecutable, - default=which('html2text'), - help='full path to html2text [%(default)s]') - p.add_argument('--docbook4xml-fop', type=arg_isexecutable, - default=which('fop'), - help='full path to fop [%(default)s]') - p.add_argument('--docbook4xml-dblatex', type=arg_isexecutable, - default=which('dblatex'), - help='full path to dblatex [%(default)s]') - - class Docbook4XML(BaseDoctype, SignatureChecker): formatname = 'DocBook XML 4.x' extensions = ['.xml'] @@ -134,5 +110,31 @@ ln \\ def buildall(self): return self.shellscript(self.buildscript) + @staticmethod + def argparse(p): + p.add_argument('--docbook4xml-xslchunk', type=arg_isreadablefile, + default=xslchunk_finder(), + help='full path to LDP HTML chunker XSL [%(default)s]') + p.add_argument('--docbook4xml-xslsingle', type=arg_isreadablefile, + default=xslsingle_finder(), + help='full path to LDP HTML single-page XSL [%(default)s]') + p.add_argument('--docbook4xml-xslprint', type=arg_isreadablefile, + default=xslprint_finder(), + help='full path to LDP FO print XSL [%(default)s]') + p.add_argument('--docbook4xml-xsltproc', type=arg_isexecutable, + default=which('xsltproc'), + help='full path to xsltproc [%(default)s]') + p.add_argument('--docbook4xml-html2text', type=arg_isexecutable, + default=which('html2text'), + help='full path to html2text [%(default)s]') + p.add_argument('--docbook4xml-fop', type=arg_isexecutable, + default=which('fop'), + help='full path to fop [%(default)s]') + p.add_argument('--docbook4xml-dblatex', type=arg_isexecutable, + default=which('dblatex'), + help='full path to dblatex [%(default)s]') + + + # # -- end of file diff --git a/tldp/doctypes/docbook5xml.py b/tldp/doctypes/docbook5xml.py index cf16bdf..de8ed79 100644 --- a/tldp/doctypes/docbook5xml.py +++ b/tldp/doctypes/docbook5xml.py @@ -5,21 +5,6 @@ from ..utils import logger, which from .common import SignatureChecker -def config_fragment(p): - p.add_argument('--docbook5xml-xsltproc', type=which, - default=which('xsltproc'), - help='full path to xsltproc [%(default)s]') - p.add_argument('--docbook5xml-html2text', type=which, - default=which('html2text'), - help='full path to html2text [%(default)s]') - p.add_argument('--docbook5xml-fop', type=which, - default=which('fop'), - help='full path to fop [%(default)s]') - p.add_argument('--docbook5xml-dblatex', type=which, - default=which('dblatex'), - help='full path to dblatex [%(default)s]') - - class Docbook5XML(SignatureChecker): formatname = 'DocBook XML 5.x' extensions = ['.xml'] @@ -39,5 +24,21 @@ class Docbook5XML(SignatureChecker): def create_htmls(self): logger.info("Creating single page HTML for %s", self.source.stem) + @staticmethod + def argparse(p): + p.add_argument('--docbook5xml-xsltproc', type=which, + default=which('xsltproc'), + help='full path to xsltproc [%(default)s]') + p.add_argument('--docbook5xml-html2text', type=which, + default=which('html2text'), + help='full path to html2text [%(default)s]') + p.add_argument('--docbook5xml-fop', type=which, + default=which('fop'), + help='full path to fop [%(default)s]') + p.add_argument('--docbook5xml-dblatex', type=which, + default=which('dblatex'), + help='full path to dblatex [%(default)s]') + + # # -- end of file diff --git a/tldp/doctypes/docbooksgml.py b/tldp/doctypes/docbooksgml.py index a242407..189eff5 100644 --- a/tldp/doctypes/docbooksgml.py +++ b/tldp/doctypes/docbooksgml.py @@ -27,30 +27,6 @@ def ldpdsl_finder(): return firstfoundfile(locations) -def config_fragment(p): - p.add_argument('--docbooksgml-docbookdsl', type=arg_isreadablefile, - default=docbookdsl_finder(), - help='full path to html/docbook.dsl [%(default)s]') - p.add_argument('--docbooksgml-ldpdsl', type=arg_isreadablefile, - default=ldpdsl_finder(), - help='full path to ldp/ldp.dsl [%(default)s]') - p.add_argument('--docbooksgml-jw', type=arg_isexecutable, - default=which('jw'), - help='full path to jw [%(default)s]') - p.add_argument('--docbooksgml-html2text', type=arg_isexecutable, - default=which('html2text'), - help='full path to html2text [%(default)s]') - p.add_argument('--docbooksgml-openjade', type=arg_isexecutable, - default=which('openjade'), - help='full path to openjade [%(default)s]') - p.add_argument('--docbooksgml-dblatex', type=arg_isexecutable, - default=which('dblatex'), - help='full path to dblatex [%(default)s]') - p.add_argument('--docbooksgml-collateindex', type=arg_isexecutable, - default=which('collateindex'), - help='full path to collateindex [%(default)s]') - - class DocbookSGML(BaseDoctype, SignatureChecker): formatname = 'DocBook SGML 3.x/4.x' extensions = ['.sgml'] @@ -192,5 +168,31 @@ ln \\ self.indexsgml() return True + @staticmethod + def argparse(p): + p.add_argument('--docbooksgml-docbookdsl', type=arg_isreadablefile, + default=docbookdsl_finder(), + help='full path to html/docbook.dsl [%(default)s]') + p.add_argument('--docbooksgml-ldpdsl', type=arg_isreadablefile, + default=ldpdsl_finder(), + help='full path to ldp/ldp.dsl [%(default)s]') + p.add_argument('--docbooksgml-jw', type=arg_isexecutable, + default=which('jw'), + help='full path to jw [%(default)s]') + p.add_argument('--docbooksgml-html2text', type=arg_isexecutable, + default=which('html2text'), + help='full path to html2text [%(default)s]') + p.add_argument('--docbooksgml-openjade', type=arg_isexecutable, + default=which('openjade'), + help='full path to openjade [%(default)s]') + p.add_argument('--docbooksgml-dblatex', type=arg_isexecutable, + default=which('dblatex'), + help='full path to dblatex [%(default)s]') + p.add_argument('--docbooksgml-collateindex', type=arg_isexecutable, + default=which('collateindex'), + help='full path to collateindex [%(default)s]') + + + # # -- end of file diff --git a/tldp/doctypes/linuxdoc.py b/tldp/doctypes/linuxdoc.py index f097e2e..ad17e13 100644 --- a/tldp/doctypes/linuxdoc.py +++ b/tldp/doctypes/linuxdoc.py @@ -10,18 +10,6 @@ from tldp.utils import arg_isexecutable, isexecutable from tldp.doctypes.common import BaseDoctype, SignatureChecker -def config_fragment(p): - p.add_argument('--linuxdoc-sgml2html', type=arg_isexecutable, - default=which('sgml2html'), - help='full path to sgml2html [%(default)s]') - p.add_argument('--linuxdoc-html2text', type=arg_isexecutable, - default=which('html2text'), - help='full path to html2text [%(default)s]') - p.add_argument('--linuxdoc-htmldoc', type=arg_isexecutable, - default=which('htmldoc'), - help='full path to htmldoc [%(default)s]') - - class Linuxdoc(BaseDoctype, SignatureChecker): formatname = 'Linuxdoc' extensions = ['.sgml'] @@ -81,5 +69,19 @@ ln \ def buildall(self): return self.shellscript(self.buildscript) + @staticmethod + def argparse(p): + p.add_argument('--linuxdoc-sgml2html', type=arg_isexecutable, + default=which('sgml2html'), + help='full path to sgml2html [%(default)s]') + p.add_argument('--linuxdoc-html2text', type=arg_isexecutable, + default=which('html2text'), + help='full path to html2text [%(default)s]') + p.add_argument('--linuxdoc-htmldoc', type=arg_isexecutable, + default=which('htmldoc'), + help='full path to htmldoc [%(default)s]') + + + # # -- end of file