diff --git a/docs/conf.py b/docs/conf.py index 84799c9..13c2ba0 100644 --- a/docs/conf.py +++ b/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()] diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..7b9458e --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,9 @@ +django +flask +keyring +pycrypto>=2.6 +pyopenssl>=0.14 +python-gflags +pyyaml +webapp2 +WebOb