Condition section
=================

A condition pipeline section lets you selectively discard items from the
pipeline. The condition section blueprint name is
``collective.transmogrifier.sections.condition``.

A condition section takes a ``condition`` TALES expression. When this
expression when matched against the current item is True, the item is yielded
to the next pipe section, otherwise it is not:

    >>> condition = """
    ... [transmogrifier]
    ... pipeline =
    ...     source
    ...     condition
    ...     printer
    ...     
    ... [source]
    ... blueprint = collective.transmogrifier.sections.tests.rangesource
    ... size = 5
    ... 
    ... [condition]
    ... blueprint = collective.transmogrifier.sections.condition
    ... condition = python:int(item['id'][-2:]) > 2
    ... 
    ... [printer]
    ... blueprint = collective.transmogrifier.sections.tests.pprinter
    ... """
    >>> registerConfig(u'collective.transmogrifier.sections.tests.condition',
    ...                condition)
    >>> transmogrifier(u'collective.transmogrifier.sections.tests.condition')
    [('id', 'item-03')]
    [('id', 'item-04')]

The ``condition`` expression has access to the following:

=================== ==========================================================
 ``item``            the current pipeline item
 ``transmogrifier``  the transmogrifier
 ``name``            the name of the splitter section
 ``options``         the splitter options
 ``modules``         sys.modules
=================== ==========================================================

As condition sections skip items in the pipeline, they should not be used
inside a splitter section!
