Home | History | Annotate | Download | only in docs
      1 # -*- coding: utf-8 -*-
      2 #
      3 # oauth2client documentation build configuration file, created by
      4 # sphinx-quickstart on Wed Dec 17 23:13:19 2014.
      5 #
      6 
      7 import os
      8 import sys
      9 
     10 
     11 # In order to load django before 1.7, we need to create a faux
     12 # settings module and load it. This assumes django has been installed
     13 # (but it must be for the docs to build), so if it has not already
     14 # been installed run `pip install -r docs/requirements.txt`.
     15 os.environ['DJANGO_SETTINGS_MODULE'] = 'tests.contrib.django_util.settings'
     16 import django
     17 import mock
     18 from pkg_resources import get_distribution
     19 if django.VERSION[1] < 7:
     20     sys.path.insert(0, '.')
     21 
     22 # See https://read-the-docs.readthedocs.io/en/latest/faq.html#i-get-import-errors-on-libraries-that-depend-on-c-modules
     23 
     24 
     25 class Mock(mock.Mock):
     26 
     27     @classmethod
     28     def __getattr__(cls, name):
     29             return Mock()
     30 
     31 
     32 MOCK_MODULES = (
     33     'google',
     34     'google.appengine',
     35     'google.appengine.api',
     36     'google.appengine.api.app_identiy',
     37     'google.appengine.api.urlfetch',
     38     'google.appengine.ext',
     39     'google.appengine.ext.webapp',
     40     'google.appengine.ext.webapp.util',
     41     'werkzeug.local',
     42 )
     43 
     44 
     45 # If extensions (or modules to document with autodoc) are in another directory,
     46 # add these directories to sys.path here. If the directory is relative to the
     47 # documentation root, use os.path.abspath to make it absolute, like shown here.
     48 sys.path.insert(0, os.path.abspath('..'))
     49 
     50 # -- General configuration ------------------------------------------------
     51 
     52 extensions = [
     53     'sphinx.ext.autodoc',
     54     'sphinx.ext.coverage',
     55     'sphinx.ext.napoleon',
     56     'sphinx.ext.viewcode',
     57 ]
     58 templates_path = ['_templates']
     59 source_suffix = '.rst'
     60 master_doc = 'index'
     61 
     62 # General information about the project.
     63 project = u'oauth2client'
     64 copyright = u'2014, Google, Inc'
     65 
     66 # Version info
     67 distro = get_distribution('oauth2client')
     68 version = distro.version
     69 release = distro.version
     70 
     71 exclude_patterns = ['_build']
     72 
     73 # -- Options for HTML output ----------------------------------------------
     74 
     75 # We fake our more expensive imports when building the docs.
     76 sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES)
     77 
     78 # We want to set the RTD theme, but not if we're on RTD.
     79 if os.environ.get('READTHEDOCS', None) != 'True':
     80     import sphinx_rtd_theme
     81     html_theme = 'sphinx_rtd_theme'
     82     html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
     83 
     84 # The name of an image file (within the static path) to use as favicon of the
     85 # docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
     86 # pixels large.
     87 html_favicon = '_static/favicon.ico'
     88 
     89 html_static_path = ['_static']
     90 html_logo = '_static/google_logo.png'
     91 htmlhelp_basename = 'oauth2clientdoc'
     92 
     93 # -- Options for LaTeX output ---------------------------------------------
     94 
     95 latex_elements = {}
     96 latex_documents = [
     97     ('index', 'oauth2client.tex', u'oauth2client Documentation',
     98      u'Google, Inc.', 'manual'),
     99 ]
    100 
    101 # -- Options for manual page output ---------------------------------------
    102 
    103 man_pages = [
    104     ('index', 'oauth2client', u'oauth2client Documentation',
    105      [u'Google, Inc.'], 1)
    106 ]
    107 
    108 # -- Options for Texinfo output -------------------------------------------
    109 
    110 texinfo_documents = [
    111     ('index', 'oauth2client', u'oauth2client Documentation',
    112      u'Google, Inc.', 'oauth2client', 'One line description of project.',
    113      'Miscellaneous'),
    114 ]
    115