From 09dd1e89e4ad8d5f99bee1a65c3bc772a2f020c5 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Thu, 27 Aug 2020 09:13:37 -0700 Subject: [PATCH] doc: Drop post processor as it is not needed anymore Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- doc/Makefile | 1 - doc/scripts/post-processor | 97 -------------------------------------- 2 files changed, 98 deletions(-) delete mode 100755 doc/scripts/post-processor diff --git a/doc/Makefile b/doc/Makefile index 0c9d94d42..12781c817 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -122,7 +122,6 @@ $(manual-pages-raw-xml): %.raw.xml: %.raw.wiki $(SCRIPTS_DIR)/wikiparser.py $(manual-pages-xml): %.xml: %.raw.xml $(SCRIPTS_DIR)/manual-page-fixes.xslt xsltproc --output $@ $(SCRIPTS_DIR)/manual-page-fixes.xslt $< - $(SCRIPTS_DIR)/post-processor fix-wiki-urls $@ $(manual-pages-html): %.html: %.xml xsltproc --output $@ /usr/share/xml/docbook/stylesheet/docbook-xsl/xhtml5/docbook.xsl $< diff --git a/doc/scripts/post-processor b/doc/scripts/post-processor deleted file mode 100755 index 0ba516c11..000000000 --- a/doc/scripts/post-processor +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/python3 -# SPDX-License-Identifier: AGPL-3.0-or-later - -import argparse -import xml.etree.ElementTree as etree - - -def parse_arguments(): - """Return parsed command line arguments as dictionary.""" - parser = argparse.ArgumentParser() - subparsers = parser.add_subparsers(dest='subcommand', help='Sub command') - - subparser = subparsers.add_parser( - 'remove-footer', help='Remove footer from the XML document') - subparser.add_argument('filename', help='Name of the XML file') - - subparser = subparsers.add_parser('fix-wiki-urls', - help='Fix wrongly formatted wiki urls') - subparser.add_argument('filename', help='Name of the Docbook file') - - subparsers.required = True - return parser.parse_args() - - -def subcommand_fix_wiki_urls(arguments): - """ Rebase the wiki urls. - - The base for relative links in Debian wiki is the wiki's URL but our - extraction process rebases the relative links to the page containing - the link. This function fixes that. - """ - WIKI_URL = 'https://wiki.debian.org' - _, lang, file_name = arguments.filename.split('/') - page_name = file_name.split('.')[0] - - with open(arguments.filename, 'r') as xml_file: - lines = xml_file.readlines() - - if 'en' == lang: - pattern = f'{WIKI_URL}/FreedomBox/Manual/{page_name}' - else: - pattern = f'{WIKI_URL}/{lang}/FreedomBox/Manual/{page_name}' - lines = list(map(lambda s: s.replace(pattern, f'{WIKI_URL}'), lines)) - - with open(arguments.filename, 'w') as xml_file: - xml_file.writelines(lines) - - -def subcommand_remove_footer(arguments): - """Remove the footer template from the given wiki page.""" - filename = arguments.filename - tree = etree.parse(filename) - root = tree.getroot() - - # The footer will always be in the last
- def find_last_section(elem): - if len(elem): - last_element = elem[-1] - if last_element.tag == 'section': - return find_last_section(last_element) - return elem - - last_section = find_last_section(root) - - if len(last_section): - # Remove all elements till is reached - while last_section[-1].tag != 'informaltable': - last_section.remove(last_section[-1]) - # remove itself - last_section.remove(last_section[-1]) - - # Remove the line "Back to Features introduction or manual pages." - if last_section[-1].text.startswith('Back to'): - last_section.remove(last_section[-1]) - - processed_xml = etree.tostring(root, encoding='utf-8').decode() - - with open(filename, 'r') as xml_file: - # and elements which etree skips - header = xml_file.readlines()[:2] - - with open(filename, 'w') as xml_file: - xml_file.writelines(header) - xml_file.write(processed_xml) - - -def main(): - """Parse arguments and perform all duties.""" - arguments = parse_arguments() - - subcommand = arguments.subcommand.replace('-', '_') - subcommand_method = globals()['subcommand_' + subcommand] - subcommand_method(arguments) - - -if __name__ == '__main__': - main()