Making tweaks to allow project to build on readthedocs.org.
In particular - Adding a requirements.txt file to aid in installing docs-only dependencies (this is a feature of readthedocs, see https://docs.readthedocs.org/en/latest/builds.html) - Updating comment before `import django` in docs/conf.py. Without the setup that or tox `docs` env provides or the dependencies in docs/requirements.txt, sphinx-build will fail due to missing `django` - Adding a section to docs/conf.py which downloads the App Engine SDK and adds it to the import path - Adding base (non-docs) dir so sources get added when generating HTML (e.g. sys.path.append('..') within docs/ dir) - Using package distribution for docs version instead of manually importing oauth2client in docs/conf.py.
This commit is contained in:
		
							
								
								
									
										37
									
								
								docs/conf.py
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								docs/conf.py
									
									
									
									
									
								
							| @@ -4,8 +4,14 @@ | ||||
| # sphinx-quickstart on Wed Dec 17 23:13:19 2014. | ||||
| # | ||||
|  | ||||
| import sys | ||||
| import os | ||||
| from pkg_resources import get_distribution | ||||
| import sys | ||||
|  | ||||
| # If extensions (or modules to document with autodoc) are in another directory, | ||||
| # add these directories to sys.path here. If the directory is relative to the | ||||
| # documentation root, use os.path.abspath to make it absolute, like shown here. | ||||
| sys.path.insert(0, os.path.abspath('..')) | ||||
|  | ||||
| # -- General configuration ------------------------------------------------ | ||||
|  | ||||
| @@ -24,14 +30,16 @@ project = u'oauth2client' | ||||
| copyright = u'2014, Google, Inc' | ||||
|  | ||||
| # Version info | ||||
| import oauth2client | ||||
| version = oauth2client.__version__ | ||||
| release = oauth2client.__version__ | ||||
| distro = get_distribution('oauth2client') | ||||
| version = distro.version | ||||
| release = distro.version | ||||
|  | ||||
| exclude_patterns = ['_build'] | ||||
|  | ||||
| # In order to load django before 1.7, we need to create a faux | ||||
| # settings module and load it. | ||||
| # settings module and load it. This assumes django has been installed | ||||
| # (but it must be for the docs to build), so if it has not already | ||||
| # been installed run `pip install -r docs/requirements.txt`. | ||||
| import django | ||||
| if django.VERSION[1] < 7: | ||||
|   sys.path.insert(0, '.') | ||||
| @@ -40,7 +48,24 @@ if django.VERSION[1] < 7: | ||||
| # -- Options for HTML output ---------------------------------------------- | ||||
|  | ||||
| # We want to set the RTD theme, but not if we're on RTD. | ||||
| if os.environ.get('READTHEDOCS', '') != 'True': | ||||
| if os.environ.get('READTHEDOCS', None) == 'True': | ||||
|   # Download the GAE SDK if we are building on READTHEDOCS. | ||||
|   docs_dir = os.path.dirname(os.path.abspath(__file__)) | ||||
|   root_dir = os.path.abspath(os.path.join(docs_dir, '..')) | ||||
|   gae_dir = os.path.join(root_dir, 'google_appengine') | ||||
|   if not os.path.isdir(gae_dir): | ||||
|     scripts_dir = os.path.join(root_dir, 'scripts') | ||||
|     sys.path.append(scripts_dir) | ||||
|     import fetch_gae_sdk | ||||
|     # The first argument is the script name and the second is | ||||
|     # the destination dir (where google_appengine is downloaded). | ||||
|     result = fetch_gae_sdk.main([None, root_dir]) | ||||
|     if result not in (0, None): | ||||
|       sys.stderr.write('Result failed %d\n' % (result,)) | ||||
|       sys.exit(result) | ||||
|     # Allow imports from the GAE directory as well. | ||||
|     sys.path.append(gae_dir) | ||||
| else: | ||||
|   import sphinx_rtd_theme | ||||
|   html_theme = 'sphinx_rtd_theme' | ||||
|   html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] | ||||
|   | ||||
							
								
								
									
										9
									
								
								docs/requirements.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								docs/requirements.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| django | ||||
| flask | ||||
| keyring | ||||
| pycrypto>=2.6 | ||||
| pyopenssl>=0.14 | ||||
| python-gflags | ||||
| pyyaml | ||||
| webapp2 | ||||
| WebOb | ||||
		Reference in New Issue
	
	Block a user
	 Danny Hermes
					Danny Hermes