colour.utilities.filter_mapping

colour.utilities.filter_mapping(mapping, filterers, anchors=True, flags=<RegexFlag.IGNORECASE: 2>)[source]

Filters given mapping with given filterers.

Parameters
  • mapping (dict_like) – Mapping to filter.

  • filterers (unicode or object or array_like) – Filterer pattern for given mapping elements or a list of filterers.

  • anchors (bool, optional) – Whether to use Regex line anchors, i.e. ^ and $ are added, surrounding the filterer pattern.

  • flags (int, optional) – Regex flags.

Returns

Filtered mapping elements.

Return type

OrderedDict

Notes

  • To honour the filterers ordering, the return value is an OrderedDict class instance.

Examples

>>> class Element(object):
...     pass
>>> mapping = {
...     'Element A': Element(),
...     'Element B': Element(),
...     'Element C': Element(),
...     'Not Element C': Element(),
... }
>>> # Doctests skip for Python 2.x compatibility.
>>> filter_mapping(mapping, '\w+\s+A')  
{u'Element A': <colour.utilities.common.Element object at 0x...>}
>>> # Doctests skip for Python 2.x compatibility.
>>> sorted(filter_mapping(mapping, 'Element.*'))  
[u'Element A', u'Element B', u'Element C']