50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import os
 | |
| import pydoc
 | |
| import re
 | |
| 
 | |
| from apiclient.discovery import build
 | |
| 
 | |
| BASE = 'docs/dyn'
 | |
| 
 | |
| APIS = [
 | |
|       ('buzz', 'v1'),
 | |
|       ('moderator', 'v1'),
 | |
|       ('latitude', 'v1'),
 | |
|       ('customsearch', 'v1'),
 | |
|       ('diacritize', 'v1'),
 | |
|       ('translate', 'v2'),
 | |
|       ('prediction', 'v1.1'),
 | |
|       ('shopping', 'v1'),
 | |
|       ('urlshortener', 'v1'),
 | |
|       ]
 | |
| 
 | |
| def document(resource, path):
 | |
|   print path
 | |
|   collections = []
 | |
|   for name in dir(resource):
 | |
|     if not "_" in name and callable(getattr(resource, name)) and hasattr(
 | |
|           getattr(resource, name), '__is_resource__'):
 | |
|       collections.append(name)
 | |
| 
 | |
|   obj, name = pydoc.resolve(type(resource))
 | |
|   page = pydoc.html.page(
 | |
|       pydoc.describe(obj), pydoc.html.document(obj, name))
 | |
| 
 | |
|   for name in collections:
 | |
|     page = re.sub('strong>(%s)<' % name, r'strong><a href="%s">\1</a><' % (path + name + ".html"), page)
 | |
|   for name in collections:
 | |
|     document(getattr(resource, name)(), path + name + ".")
 | |
| 
 | |
|   f = open(os.path.join(BASE, path + 'html'), 'w')
 | |
|   f.write(page)
 | |
|   f.close()
 | |
| 
 | |
| def document_api(name, version):
 | |
|   service = build(name, version)
 | |
|   document(service, '%s.%s.' % (name, version))
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|   for name, version in APIS:
 | |
|     document_api(name, version)
 | |
| 
 | 
