support schedule data in parsable format
This change converts the Ocata schedule to a YAML file and introduces the templates needed to render it to a table in the restructuredtext file so it can be published to HTML again. This is a prerequisite for also generating an ICS file for the schedule. Change-Id: I905b47b5b98b6d442c197e0291c44746aaf52bbb Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
parent
5b8eec5a48
commit
d04e017155
|
@ -0,0 +1,34 @@
|
|||
.. -*- mode: rst -*-
|
||||
|
||||
.. This template renders a schedule table using the list-table
|
||||
directive. Named weeks ("R-x") include their names. Weeks before
|
||||
the official start of the cycle are normally not named, but may be
|
||||
included for reference (for example, to indicate where the cycle
|
||||
begins relative to a summit or PTG).
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:widths: 15 5 30 30
|
||||
|
||||
- * Week
|
||||
*
|
||||
* Cross-project events
|
||||
* Project-specific events
|
||||
{%- for c in data['cycle'] %}
|
||||
- * {{format_date(c['start'])}} - {{format_date(c['end'])}}
|
||||
* {{c['name']}}
|
||||
{%- if not c['x-project'] %}
|
||||
*
|
||||
{%- else -%}
|
||||
{%- for e in c['x-project'] %}
|
||||
{% if loop.first %}*{% else %} {% endif %} | :ref:`{{e}}`
|
||||
{%- endfor -%}
|
||||
{%- endif -%}
|
||||
{%- if not c['project-specific'] %}
|
||||
*
|
||||
{%- else -%}
|
||||
{%- for e in c['project-specific'] %}
|
||||
{% if loop.first %}*{% else %} {% endif %} | :ref:`{{e}}`
|
||||
{%- endfor -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
|
@ -1,5 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import datetime
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
@ -7,7 +8,10 @@ import sys
|
|||
|
||||
# Add any Sphinx extension module names here, as strings. They can be
|
||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||
extensions = ['openstack_releases.sphinxext']
|
||||
extensions = [
|
||||
'openstack_releases.sphinxext',
|
||||
'sphinxcontrib.datatemplates',
|
||||
]
|
||||
|
||||
config_generator_config_file = 'config-generator.conf'
|
||||
|
||||
|
@ -61,3 +65,19 @@ latex_documents = [
|
|||
'%s Documentation' % project,
|
||||
'OpenStack Foundation', 'manual'),
|
||||
]
|
||||
|
||||
|
||||
def format_date(s, fmt='%b %d'):
|
||||
# This function is used in schedule_table.tmpl
|
||||
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):
|
||||
app.info('initializing from conf.py')
|
||||
app.connect('builder-inited', builder_inited)
|
||||
|
|
|
@ -4,89 +4,9 @@
|
|||
|
||||
31 October 2016 - 24 February 2017 (16 weeks)
|
||||
|
||||
+-------------------+---------------------------+-----------------------------+
|
||||
| Week | Cross-project events | Project-specific events |
|
||||
+============+======+===========================+=============================+
|
||||
| Oct 03-07 | | :ref:`n-release` | |
|
||||
| | +---------------------------+-----------------------------+
|
||||
| | | :ref:`o-goals-research` | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Oct 10-14 | | | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Oct 17-21 | | | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Oct 24-28 | | :ref:`o-design-summit` | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Oct 31-04 | R-16 | | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Nov 07-11 | R-15 | | :ref:`o-glance-spec-prop` |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Nov 14-18 | R-14 | :ref:`o-1` | :ref:`o-nova-spec-freeze` |
|
||||
| | +---------------------------+-----------------------------+
|
||||
| | | :ref:`o-goals-ack` | :ref:`o-manila-spec-frz1` |
|
||||
| | +---------------------------+-----------------------------+
|
||||
| | | | :ref:`o-key-spec-prop` |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Nov 21-25 | R-13 | | :ref:`o-glance-spec-freeze` |
|
||||
| | | +-----------------------------+
|
||||
| | | | :ref:`o-trove-spec-prop` |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Nov 28-02 | R-12 | | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Dec 05-09 | R-11 | | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Dec 12-16 | R-10 | :ref:`o-2` | :ref:`o-trove-spec-freeze` |
|
||||
| | +---------------------------+-----------------------------+
|
||||
| | | :ref:`o-mf` | :ref:`o-cinder-nddeadline` |
|
||||
| | +---------------------------+-----------------------------+
|
||||
| | | | :ref:`o-cinder-spec-freeze` |
|
||||
| | | +-----------------------------+
|
||||
| | | | :ref:`o-key-spec-freeze` |
|
||||
| | | +-----------------------------+
|
||||
| | | | :ref:`o-manila-spec-frz2` |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Dec 19-23 | R-9 | | :ref:`o-manila-drv-freeze` |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Dec 26-30 | R-8 | | :ref:`o-key-feature-prop` |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Jan 02-06 | R-7 | :ref:`o-extra-atcs` | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Jan 09-13 | R-6 | | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Jan 16-20 | R-5 | :ref:`o-final-lib` | :ref:`o-trove-client-soft` |
|
||||
| | +---------------------------+-----------------------------+
|
||||
| | | | :ref:`o-trove-guest-req` |
|
||||
| | | +-----------------------------+
|
||||
| | | | :ref:`o-horizon-ff` |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Jan 23-27 | R-4 | :ref:`o-3` | :ref:`o-key-feature-freeze` |
|
||||
| | +---------------------------+-----------------------------+
|
||||
| | | :ref:`o-ff` | :ref:`p-ptl-nomination` |
|
||||
| | +---------------------------+-----------------------------+
|
||||
| | | :ref:`o-final-clientlib` | |
|
||||
| | +---------------------------+-----------------------------+
|
||||
| | | :ref:`o-soft-sf` | |
|
||||
| | +---------------------------+-----------------------------+
|
||||
| | | :ref:`o-rf` | |
|
||||
| | +---------------------------+-----------------------------+
|
||||
| | | :ref:`o-goals-complete` | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Jan 30-03 | R-3 | :ref:`o-rc1` | :ref:`p-ptl-election` |
|
||||
| | +---------------------------+-----------------------------+
|
||||
| | | :ref:`o-hard-sf` | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Feb 06-10 | R-2 | | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Feb 13-17 | R-1 | :ref:`o-finalrc` | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Feb 20-24 | R+0 | :ref:`p-ptg0` | |
|
||||
| | +---------------------------+-----------------------------+
|
||||
| | | :ref:`o-release` | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Feb 27-03 | R+1 | | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
| Mar 06-10 | R+2 | :ref:`o-trailing` | |
|
||||
+------------+------+---------------------------+-----------------------------+
|
||||
.. datatemplate::
|
||||
:source: schedule.yaml
|
||||
:template: schedule_table.tmpl
|
||||
|
||||
.. note::
|
||||
|
||||
|
|
|
@ -0,0 +1,131 @@
|
|||
---
|
||||
start-week: 2016-11-07
|
||||
release-week: 2017-02-20
|
||||
cycle:
|
||||
- end: '2016-11-04'
|
||||
start: '2016-10-31'
|
||||
x-project:
|
||||
- n-release
|
||||
- o-goals-research
|
||||
- start: '2016-10-10'
|
||||
end: '2016-10-14'
|
||||
- start: '2016-10-17'
|
||||
end: '2016-10-21'
|
||||
- start: '2016-10-24'
|
||||
end: '2016-10-28'
|
||||
x-project:
|
||||
- o-design-summit
|
||||
- start: '2016-10-31'
|
||||
end: '2016-11-04'
|
||||
x-project:
|
||||
- n-release
|
||||
- end: '2016-11-11'
|
||||
start: '2016-11-07'
|
||||
name: R-15
|
||||
project-specific:
|
||||
- o-glance-spec-prop
|
||||
- end: '2016-11-18'
|
||||
start: '2016-11-14'
|
||||
name: R-14
|
||||
x-project:
|
||||
- o-1
|
||||
- o-goals-ack
|
||||
project-specific:
|
||||
- o-nova-spec-freeze
|
||||
- o-manila-spec-frz1
|
||||
- o-key-spec-prop
|
||||
- end: '2016-11-25'
|
||||
start: '2016-11-21'
|
||||
name: R-13
|
||||
project-specific:
|
||||
- o-glance-spec-freeze
|
||||
- o-trove-spec-prop
|
||||
- end: '2016-12-02'
|
||||
start: '2016-11-28'
|
||||
name: R-12
|
||||
- end: '2016-12-09'
|
||||
start: '2016-12-05'
|
||||
name: R-11
|
||||
x-project:
|
||||
- o-2
|
||||
- o-mf
|
||||
project-specific:
|
||||
- o-trove-spec-freeze
|
||||
- o-cinder-nddeadline
|
||||
- o-cinder-spec-freeze
|
||||
- o-key-spec-freeze
|
||||
- o-manila-spec-frz2
|
||||
- end: '2016-12-16'
|
||||
start: '2016-12-12'
|
||||
name: R-10
|
||||
- end: '2016-12-23'
|
||||
start: '2016-12-19'
|
||||
name: R-9
|
||||
project-specific:
|
||||
- o-manila-drv-freeze
|
||||
- end: '2016-12-30'
|
||||
start: '2016-12-26'
|
||||
name: R-8
|
||||
project-specific:
|
||||
- o-key-feature-prop
|
||||
- end: '2017-01-06'
|
||||
start: '2017-01-02'
|
||||
name: R-7
|
||||
x-project:
|
||||
- o-extra-atcs
|
||||
- end: '2017-01-13'
|
||||
start: '2017-01-09'
|
||||
name: R-6
|
||||
- end: '2017-01-20'
|
||||
start: '2017-01-16'
|
||||
name: R-5
|
||||
x-project:
|
||||
- o-final-lib
|
||||
project-specific:
|
||||
- o-trove-client-soft
|
||||
- o-trove-guest-req
|
||||
- o-horizon-ff
|
||||
- end: '2017-01-27'
|
||||
start: '2017-01-23'
|
||||
name: R-4
|
||||
x-project:
|
||||
- o-3
|
||||
- o-ff
|
||||
- o-final-clientlib
|
||||
- o-soft-sf
|
||||
- o-rf
|
||||
- o-goals-complete
|
||||
project-specific:
|
||||
- o-key-feature-freeze
|
||||
- p-ptl-nomination
|
||||
- end: '2017-02-03'
|
||||
start: '2017-01-30'
|
||||
name: R-3
|
||||
x-project:
|
||||
- o-rc1
|
||||
- o-hard-sf
|
||||
project-specific:
|
||||
- p-ptl-election
|
||||
- end: '2017-02-10'
|
||||
start: '2017-02-06'
|
||||
name: R-2
|
||||
- end: '2017-02-17'
|
||||
start: '2017-02-13'
|
||||
name: R-1
|
||||
x-project:
|
||||
- o-finalrc
|
||||
- end: '2017-02-24'
|
||||
start: '2017-02-20'
|
||||
name: R+0
|
||||
x-project:
|
||||
- o-release
|
||||
- p-ptg0
|
||||
- end: '2017-03-03'
|
||||
start: '2017-02-27'
|
||||
name: R+1
|
||||
- end: '2017-03-10'
|
||||
start: '2017-03-06'
|
||||
name: R+2
|
||||
x-project:
|
||||
- o-trailing
|
||||
|
Loading…
Reference in New Issue