Source code for lena.flow.print_

from __future__ import print_function

import sys


[docs]class Print(): """Print values passing through.""" def __init__(self, before='', sep='', end='\n', transform=None): """*before* is a string appended before the first element in the item (which may be a container). *sep* separates elements, *end* is appended after the last element. *transform* is a function which transforms passing items (for example, it can select its specific fields). """ # flush=True, file=sys.stdout self.before = before # *sep* and *end* keywords have the same semantics as in Python 3 *print()*. self.sep = sep self.end = end if transform is None: transform = lambda x: x self.transform = transform
[docs] def __call__(self, value): """Print and return *value*.""" print(self.before, self.transform(value), sep=self.sep, end=self.end) return value