Regression of #77: If there is only one parameter given with `:param:` markup, the bullet list is now suppressed again.

This commit is contained in:
Georg Brandl 2011-01-03 23:08:13 +01:00
parent 0cda61e88d
commit 205d50a01d
4 changed files with 23 additions and 9 deletions

View File

@ -1,6 +1,9 @@
Release 1.0.6 (in development) Release 1.0.6 (in development)
============================== ==============================
* Regression of #77: If there is only one parameter given with
``:param:`` markup, the bullet list is now suppressed again.
* #556: Fix missing paragraph breaks in LaTeX output in certain * #556: Fix missing paragraph breaks in LaTeX output in certain
situations. situations.

View File

@ -94,10 +94,12 @@ class PyObject(ObjectDescription):
TypedField('parameter', label=l_('Parameters'), TypedField('parameter', label=l_('Parameters'),
names=('param', 'parameter', 'arg', 'argument', names=('param', 'parameter', 'arg', 'argument',
'keyword', 'kwarg', 'kwparam'), 'keyword', 'kwarg', 'kwparam'),
typerolename='obj', typenames=('paramtype', 'type')), typerolename='obj', typenames=('paramtype', 'type'),
can_collapse=True),
TypedField('variable', label=l_('Variables'), rolename='obj', TypedField('variable', label=l_('Variables'), rolename='obj',
names=('var', 'ivar', 'cvar'), names=('var', 'ivar', 'cvar'),
typerolename='obj', typenames=('vartype',)), typerolename='obj', typenames=('vartype',),
can_collapse=True),
GroupedField('exceptions', label=l_('Raises'), rolename='exc', GroupedField('exceptions', label=l_('Raises'), rolename='exc',
names=('raises', 'raise', 'exception', 'except'), names=('raises', 'raise', 'exception', 'except'),
can_collapse=True), can_collapse=True),

View File

@ -129,15 +129,13 @@ class TypedField(GroupedField):
is_typed = True is_typed = True
def __init__(self, name, names=(), typenames=(), label=None, def __init__(self, name, names=(), typenames=(), label=None,
rolename=None, typerolename=None): rolename=None, typerolename=None, can_collapse=False):
GroupedField.__init__(self, name, names, label, rolename, False) GroupedField.__init__(self, name, names, label, rolename, can_collapse)
self.typenames = typenames self.typenames = typenames
self.typerolename = typerolename self.typerolename = typerolename
def make_field(self, types, domain, items): def make_field(self, types, domain, items):
fieldname = nodes.field_name('', self.label) def handle_item(fieldarg, content):
listnode = self.list_type()
for fieldarg, content in items:
par = nodes.paragraph() par = nodes.paragraph()
par += self.make_xref(self.rolename, domain, fieldarg, nodes.strong) par += self.make_xref(self.rolename, domain, fieldarg, nodes.strong)
if fieldarg in types: if fieldarg in types:
@ -154,8 +152,17 @@ class TypedField(GroupedField):
par += nodes.Text(')') par += nodes.Text(')')
par += nodes.Text(' -- ') par += nodes.Text(' -- ')
par += content par += content
listnode += nodes.list_item('', par) return par
fieldbody = nodes.field_body('', listnode)
fieldname = nodes.field_name('', self.label)
if len(items) == 1 and self.can_collapse:
fieldarg, content = items[0]
bodynode = handle_item(fieldarg, content)
else:
bodynode = self.list_type()
for fieldarg, content in items:
bodynode += nodes.list_item('', handle_item(fieldarg, content))
fieldbody = nodes.field_body('', bodynode)
return nodes.field('', fieldname, fieldbody) return nodes.field('', fieldname, fieldbody)

View File

@ -47,6 +47,8 @@ Testing object descriptions
.. class:: TimeInt .. class:: TimeInt
Has only one parameter (triggers special behavior...)
:param moo: |test| :param moo: |test|
:type moo: |test| :type moo: |test|