diff --git a/os_doc_tools/index.py b/os_doc_tools/index.py index 583eebb2..297ac303 100644 --- a/os_doc_tools/index.py +++ b/os_doc_tools/index.py @@ -13,10 +13,21 @@ # under the License. import argparse +import glob import os import sys +def get_pdf_link(root, publish_path): + p = '%s/*.pdf' % root + re = glob.glob(p) + if len(re) == 0: + return '' + filename = os.path.basename(re[0]) + path = os.path.relpath(root, publish_path) + return ' (pdf)' % (path, filename) + + def generate_index_file(publish_path): """Generate index.html file in publish_path.""" @@ -42,27 +53,12 @@ def generate_index_file(publish_path): if root == publish_path: continue - if os.path.isfile(os.path.join(root, 'content/index.html')): - path = os.path.relpath(root, publish_path) - links[path] = ('%s\n' % - (path, path)) - elif os.path.isfile(os.path.join(root, 'index.html')): - path = os.path.relpath(root, publish_path) - links[path] = ('%s\n' % - (path, path.replace('draft/', ''))) + pdf_link = get_pdf_link(root, publish_path) - if os.path.isfile(os.path.join(root, 'api-ref.html')): + if os.path.isfile(os.path.join(root, 'index.html')): path = os.path.relpath(root, publish_path) - links[path] = ('%s\n' % - (path, path)) - - # List PDF files for api-site that have from "bk-api-ref*.pdf" - # as well since they have no corresponding html file. - for f in files: - if f.startswith('bk-api-ref') and f.endswith('.pdf'): - path = os.path.relpath(root, publish_path) - links[f] = ('%s\n' % - (path, f, f)) + links[path] = ('%s%s\n' % + (path, path.replace('draft/', ''), pdf_link)) for entry in sorted([s for s in links if not s.startswith('draft/')]): index_file.write(links[entry])