clean up 'most recent' table

Change-Id: I7b2a4bbb113c20a44a0b305fdbdc004c2bd0a7b5
This commit is contained in:
Doug Hellmann
2015-08-20 11:34:03 -07:00
parent 86e11432d4
commit 7670133195

View File

@@ -24,14 +24,14 @@ from sphinx.util.nodes import nested_parse_with_titles
import yaml
def _list_table(add, headers, data):
def _list_table(add, headers, data, title=''):
"""Build a list-table directive.
:param add: Function to add one row to output.
:param headers: List of header values.
:param data: Iterable of row data, yielding lists or tuples with rows.
"""
add('.. list-table::')
add('.. list-table:: %s' % title)
add(' :header-rows: 1')
add('')
add(' - * %s' % headers[0])
@@ -82,12 +82,14 @@ class DeliverableDirective(rst.Directive):
most_recent = []
for deliverable_name, filename, deliverable_info in deliverables:
version = deliverable_info.get('releases', {})[-1].get('version', 'unreleased')
most_recent.append((deliverable_name, version))
result.append('.. rubric:: Most Recent', source_name)
result.append('', source_name)
_list_table(lambda t: result.append(t, source_name),
['Deliverable', 'Version'],
most_recent,)
ref = ':ref:`%s-%s`' % (series, deliverable_name)
most_recent.append((ref, version))
_list_table(
lambda t: result.append(t, source_name),
['Deliverable', 'Version'],
most_recent,
title='Most Recent',
)
# Show the detailed history of the deliverables within the series.
@@ -100,6 +102,8 @@ class DeliverableDirective(rst.Directive):
def _title(text, underline):
text = str(text) # version numbers might be converted to floats
_add('.. _%s-%s:' % (series, text))
_add('')
_add(text)
_add(underline * len(text))
_add('')