From 90cabd0c8c6ad73596b4bf14f87831c47c69430e Mon Sep 17 00:00:00 2001 From: Andrey Volkov Date: Wed, 12 Apr 2017 15:13:23 +0300 Subject: [PATCH] [placement] Fix placement-api-ref check tool Some time ago the placement-api-ref source structure was changed (Ia2fd62ae7f401cad34ee7c2b355c9a5ab1c93f6b) to use inc-files istead of putting all in index.rst, but that change broke placement_api_docs.py. This change modifies placement_api_docs.py to go through all *.inc files in placement-api-ref directory and scan for the "rest method" header. Change-Id: I60150ab51173934f848662499dcf6af18625697e --- tools/placement_api_docs.py | 17 +++++++++++------ tox.ini | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/tools/placement_api_docs.py b/tools/placement_api_docs.py index 652800cf8d85..1915c43b3645 100644 --- a/tools/placement_api_docs.py +++ b/tools/placement_api_docs.py @@ -11,6 +11,7 @@ # under the License. """Test to see if docs exists for routes and methods in the placement API.""" +import os import sys from nova.api.openstack.placement import handler @@ -25,8 +26,8 @@ def _header_line(map_entry): return line -def inspect_doc(doc_file): - """Load up doc_file and see if any routes are missing. +def inspect_doc(doc_files): + """Load up doc_files and see if any routes are missing. The routes are defined in handler.ROUTE_DECLARATIONS. """ @@ -42,8 +43,10 @@ def inspect_doc(doc_file): for map_entry in routes: header_lines.append(_header_line(map_entry)) - with open(doc_file) as doc_fh: - content_lines = doc_fh.read().splitlines() + content_lines = [] + for doc_file in doc_files: + with open(doc_file) as doc_fh: + content_lines.extend(doc_fh.read().splitlines()) missing_lines = [] for line in header_lines: @@ -60,5 +63,7 @@ def inspect_doc(doc_file): if __name__ == '__main__': - doc_file = sys.argv[1] - sys.exit(inspect_doc(doc_file)) + path = sys.argv[1] + doc_files = [os.path.join(path, file) + for file in os.listdir(path) if file.endswith(".inc")] + sys.exit(inspect_doc(doc_files)) diff --git a/tox.ini b/tox.ini index 42f0e40ac380..83a3514b6c56 100644 --- a/tox.ini +++ b/tox.ini @@ -149,7 +149,7 @@ commands = # TODO(cdent): Get rid of the leading '-' after all the existing # routes have been documented. It causes the non-zero exit code to # ignored. - - python tools/placement_api_docs.py placement-api-ref/source/index.rst + - python tools/placement_api_docs.py placement-api-ref/source/ rm -rf placement-api-ref/build sphinx-build -W -b html -d placement-api-ref/build/doctrees placement-api-ref/source placement-api-ref/build/html