import logging log = logging.getLogger(__name__) class Filter(object): def __init__(self, lookup): self.lookup = lookup def __call__(self, data, meta, name, catalog): try: template_name = meta['__template__'] except KeyError: log.error('{0}: No __template__ defined.'.format(name)) return None, meta # TODO: surround with try-block template = self.lookup.get_template(template_name) data = template.render(body=data, name=name, meta=meta, catalog=catalog) return data, meta