Source code for sectiondoc.sections.item_list
# -*- coding: utf-8 -*-
# -----------------------------------------------------------------------------
# License: LICENSE.TXT
# Author: Ioannis Tziakos
#
# Copyright (c) 2011-14, Enthought, Inc.
# All rights reserved.
# -----------------------------------------------------------------------------
from sectiondoc.util import add_indent
from sectiondoc.items import OrDefinitionItem
from sectiondoc.renderers import ListItem
[docs]def item_list(doc, header, renderer=ListItem, item_class=OrDefinitionItem):
""" Render the section to sphinx friendly item list.
Arguments
---------
doc : DocRender
The docstring container.
header : str
The header name that is used for the fields (i.e. ``:<header>:``).
renderer : Renderer
A renderer instance to render the items.
item_class : type
The item parser class to use. Default is :class:`~.OrDefinitionItem`.
"""
items = doc.extract_items(item_class)
lines = [':{0}:'.format(header.lower())]
prefix = None if len(items) == 1 else '-'
renderer = renderer()
for item in items:
renderer.item = item
lines += add_indent(renderer.to_rst(prefix))
lines.append('')
return lines