From 0180dbe58074c9a701bf2251422cf06659cefb13 Mon Sep 17 00:00:00 2001 From: Gauvain Pocentek Date: Sun, 3 Aug 2014 17:59:16 +0200 Subject: [PATCH] Support files as source for dn2osdbk The current version only uses directory as source for tranformation. This patch allows to work on a single source file. This is intended to be used to generated the HOT reference data. Change-Id: I574c099c26718e0ca509a492e857c96e7bdc0e15 --- RELEASE_NOTES.rst | 1 + os_doc_tools/dn2osdbk.py | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst index 934ccfb6..28504aad 100644 --- a/RELEASE_NOTES.rst +++ b/RELEASE_NOTES.rst @@ -5,6 +5,7 @@ Release notes ---- * ``openstack-doc-test``: Don't always build the HOT guide +* ``openstack-dn2osdbk``: Allow single files as source 0.17 ---- diff --git a/os_doc_tools/dn2osdbk.py b/os_doc_tools/dn2osdbk.py index 24fe53c6..f8efc7fb 100644 --- a/os_doc_tools/dn2osdbk.py +++ b/os_doc_tools/dn2osdbk.py @@ -209,16 +209,23 @@ class ChapterTransformer(BaseFolderTransformer): def main(): parser = argparse.ArgumentParser(description="Generate docbook from " "DocUtils Native XML format") - parser.add_argument('source', help='Source directory.') - parser.add_argument('output', help='Output file.') + parser.add_argument('source', help='Source file or directory.') + parser.add_argument('output', help='Output file or directory.') parser.add_argument('--toplevel', help='Toplevel flag.', choices=['book', 'chapter'], default='chapter') args = parser.parse_args() - cls = globals()[TRANSFORMERS[args.toplevel]] - transformer = cls(args.source, args.output) - sys.exit(transformer.transform()) + if os.path.isdir(args.source): + cls = globals()[TRANSFORMERS[args.toplevel]] + transformer = cls(args.source, args.output) + sys.exit(transformer.transform()) + else: + transformer = XMLFileTransformer(args.source, args.toplevel) + xml = transformer.transform() + with open(args.output, 'w') as fd: + fd.write(xml) + sys.exit(0) if __name__ == "__main__":