Create index file for dynamically generated docs. (#702)
diff --git a/describe.py b/describe.py
index e5203d8..eb7a0f1 100755
--- a/describe.py
+++ b/describe.py
@@ -23,7 +23,9 @@
__author__ = 'jcgregorio@google.com (Joe Gregorio)'
+from collections import OrderedDict
import argparse
+import collections
import json
import os
import re
@@ -394,6 +396,7 @@
if FLAGS.discovery_uri:
document_api_from_discovery_document(FLAGS.discovery_uri)
else:
+ api_directory = collections.defaultdict(list)
http = build_http()
resp, content = http.request(
FLAGS.directory_uri,
@@ -402,5 +405,22 @@
directory = json.loads(content)['items']
for api in directory:
document_api(api['name'], api['version'])
+ api_directory[api['name']].append(api['version'])
+
+ # sort by api name and version number
+ for api in api_directory:
+ api_directory[api] = sorted(api_directory[api])
+ api_directory = OrderedDict(sorted(api_directory.items(), key = lambda x: x[0]))
+
+ markdown = []
+ for api, versions in api_directory.items():
+ markdown.append('## %s' % api)
+ for version in versions:
+ markdown.append('* [%s](http://googleapis.github.io/google-api-python-client/docs/dyn/%s_%s.html)' % (version, api, version))
+ markdown.append('\n')
+
+ with open('docs/dyn/index.md', 'w') as f:
+ f.write('\n'.join(markdown).encode('utf-8'))
+
else:
sys.exit("Failed to load the discovery document.")