From 0a5f7e5c3b89cac9345c84f1aac7cc692ea3a4b4 Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Thu, 24 Apr 2014 20:09:29 +0200 Subject: [PATCH] Handle translations for api-site The generatedocbook command only handled books in subdirectories of ./doc. This assumption only works for operations-guide and openstack-manuals but not for the api-site. Add parameter --root to give the root directory. For the api-site, this would be "--root ./". Change-Id: I9f477239677ca5a32b19bd565f8a37288f7e869e --- README.rst | 8 ++++++++ os_doc_tools/handle_pot.py | 38 +++++++++++++++++++++++++------------- 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/README.rst b/README.rst index b25b05f0..658f8248 100644 --- a/README.rst +++ b/README.rst @@ -97,6 +97,14 @@ sufficient for many of the books. Release notes ============= +0.13 +---- + +* ``openstack-generate-docbook`` handles now the api-site project: + Parameter --root gives root directory to use. +* Remove obsoleted commands ``generatedocbook`` and + ``generatepot``. They have been obsoleted in 0.7. + 0.12 ---- diff --git a/os_doc_tools/handle_pot.py b/os_doc_tools/handle_pot.py index 27180b41..b25eb0f2 100644 --- a/os_doc_tools/handle_pot.py +++ b/os_doc_tools/handle_pot.py @@ -50,14 +50,13 @@ options = { IGNORE_FOLDER = [] IGNORE_FILE = [] -root = "./doc" -def mergeback(folder, language): +def mergeback(folder, language, root): if folder is None: path = root else: - outputFiles = mergeSingleDocument(folder, language) + outputFiles = mergeSingleDocument(folder, language, root) if (outputFiles is not None) and (len(outputFiles) > 0): for outXML in outputFiles: changeXMLLangSetting(outXML, language) @@ -69,13 +68,13 @@ def mergeback(folder, language): files = os.listdir(path) for aFile in files: if not (aFile in IGNORE_FOLDER): - outputFiles = mergeSingleDocument(aFile, language) + outputFiles = mergeSingleDocument(aFile, language, root) if (outputFiles is not None) and (len(outputFiles) > 0): for outXML in outputFiles: changeXMLLangSetting(outXML, language) -def mergeSingleDocument(folder, language): +def mergeSingleDocument(folder, language, root): xmlfiles = [] outputfiles = [] abspath = os.path.join(root, folder) @@ -144,7 +143,7 @@ def get_xml_list(sms, dr, flst): sms.append(os.path.join(dr, f)) -def get_default_book(): +def get_default_book(root): return os.listdir(root)[0] @@ -166,19 +165,28 @@ def generatedocbook(): "-l", "--language", dest="language", help=("specified language") ) parser.add_option( - "-b", "--book", dest="book", default=get_default_book(), + "-b", "--book", dest="book", help=("specified docbook") ) + parser.add_option( + "-r", "--root", dest="root", default="./doc", + help=("root directory") + ) (options, args) = parser.parse_args() if options.language is None: print("must specify language") return + root = options.root + if options.book is None: + options.book = get_default_book(root) + #change working directory #copy folders folder = options.book language = options.language + root = options.root sourcepath = os.path.join(root, folder) destpath = os.path.join(os.path.curdir, "generated", language) if not os.path.exists(destpath): @@ -189,14 +197,14 @@ def generatedocbook(): shutil.rmtree(destfolder) os.system("cp -r %s %s" % (sourcepath, destpath)) - mergeback(folder, language) + mergeback(folder, language, root) -def generatePoT(folder): +def generatePoT(folder, root): if folder is None: path = root else: - generateSinglePoT(folder) + generateSinglePoT(folder, root) return if not os.path.isdir(path): @@ -205,10 +213,10 @@ def generatePoT(folder): files = os.listdir(path) for aFile in files: if not (aFile in IGNORE_FOLDER): - generateSinglePoT(aFile) + generateSinglePoT(aFile, root) -def generateSinglePoT(folder): +def generateSinglePoT(folder, root): xmlfiles = [] abspath = os.path.join(root, folder) if os.path.isdir(abspath): @@ -241,4 +249,8 @@ def generatepot(): folder = sys.argv[1] except Exception: folder = None - generatePoT(folder) + try: + root = sys.argv[2] + except Exception: + root = "./doc" + generatePoT(folder, root)