We have gerrit-dash-creator and https://tiny.cc/ReleaseInbox, but both require manual steps to be taken by someone each time the status of a series changes. Since we already capture series status data in a format that is easily parsable, let's just add a sphinx directive to make this automatic. Change-Id: I05b2a65b52809d249bfb299164d624f6de5bff02 Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
		
			
				
	
	
		
			98 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# -*- coding: utf-8 -*-
 | 
						|
 | 
						|
import datetime
 | 
						|
import os
 | 
						|
import sys
 | 
						|
 | 
						|
from sphinx.util import logging
 | 
						|
 | 
						|
LOG = logging.getLogger(__name__)
 | 
						|
 | 
						|
# 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.join(os.path.abspath('.'), '_exts'))
 | 
						|
 | 
						|
# -- General configuration ----------------------------------------------------
 | 
						|
 | 
						|
# Add any Sphinx extension module names here, as strings. They can be
 | 
						|
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
 | 
						|
extensions = [
 | 
						|
    'deliverables',
 | 
						|
    'sphinxcontrib.datatemplates',
 | 
						|
    'ics',
 | 
						|
    'reviewinbox',
 | 
						|
]
 | 
						|
 | 
						|
config_generator_config_file = 'config-generator.conf'
 | 
						|
 | 
						|
# autodoc generation is a bit aggressive and a nuisance when doing heavy
 | 
						|
# text edit cycles.
 | 
						|
# execute "export SPHINX_DEBUG=1" in your terminal to disable
 | 
						|
 | 
						|
# Add any paths that contain templates here, relative to this directory.
 | 
						|
templates_path = ['_templates']
 | 
						|
 | 
						|
# The suffix of source filenames.
 | 
						|
source_suffix = '.rst'
 | 
						|
 | 
						|
# The master toctree document.
 | 
						|
master_doc = 'index'
 | 
						|
 | 
						|
# General information about the project.
 | 
						|
project = u'releases'
 | 
						|
copyright = u'2015, OpenStack Foundation'
 | 
						|
 | 
						|
# If true, '()' will be appended to :func: etc. cross-reference text.
 | 
						|
add_function_parentheses = True
 | 
						|
 | 
						|
# If true, the current module name will be prepended to all description
 | 
						|
# unit titles (such as .. function::).
 | 
						|
add_module_names = True
 | 
						|
 | 
						|
# The name of the Pygments (syntax highlighting) style to use.
 | 
						|
pygments_style = 'sphinx'
 | 
						|
 | 
						|
# -- Options for HTML output --------------------------------------------------
 | 
						|
 | 
						|
# The theme to use for HTML and HTML Help pages.  Major themes that come with
 | 
						|
# Sphinx are currently 'default' and 'sphinxdoc'.
 | 
						|
html_theme = 'releases'
 | 
						|
html_theme_path = ['_themes']
 | 
						|
html_static_path = ['static']
 | 
						|
 | 
						|
# Output file base name for HTML help builder.
 | 
						|
htmlhelp_basename = '%sdoc' % project
 | 
						|
 | 
						|
git_cmd = "git log --pretty=format:'%ad, commit %h' --date=local -n1"
 | 
						|
html_last_updated_fmt = os.popen(git_cmd).read()
 | 
						|
 | 
						|
# Grouping the document tree into LaTeX files. List of tuples
 | 
						|
# (source start file, target name, title, author, documentclass
 | 
						|
# [howto/manual]).
 | 
						|
latex_documents = [
 | 
						|
    ('index',
 | 
						|
     '%s.tex' % project,
 | 
						|
     '%s Documentation' % project,
 | 
						|
     'OpenStack Foundation', 'manual'),
 | 
						|
]
 | 
						|
 | 
						|
 | 
						|
def format_date(s, fmt='%b %d'):
 | 
						|
    # This function is used in schedule_table.tmpl
 | 
						|
    if isinstance(s, (datetime.date, datetime.datetime)):
 | 
						|
        d = s
 | 
						|
    else:
 | 
						|
        d = datetime.datetime.strptime(s, '%Y-%m-%d')
 | 
						|
    return d.strftime(fmt)
 | 
						|
 | 
						|
 | 
						|
def builder_inited(app):
 | 
						|
    # Make format_date visible in the template context.
 | 
						|
    app.builder.templates.environment.globals['format_date'] = format_date
 | 
						|
 | 
						|
 | 
						|
def setup(app):
 | 
						|
    LOG.info('initializing from conf.py')
 | 
						|
    app.connect('builder-inited', builder_inited)
 |