Mercurial > hg > TextShaper
view textshaper/decorator.py @ 32:929a5e97af3e
prestrip text unless specified
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sun, 23 Feb 2014 14:56:17 -0800 |
parents | fd626585c299 |
children | 88a69d587326 |
line wrap: on
line source
# -*- coding: utf-8 -*- """ decorators for textshaper """ string = (str, unicode) class lines(object): """ allow functions that process lists of lines of text to accept strings, lists of lines, or a file-like object """ def __init__(self, function, line_separator='\n'): self.function = function self.line_separator = line_separator def __call__(self, text, *args, **kwargs): is_string = False if isinstance(text, string): is_string = True text = text.splitlines() retval = self.function(text, *args, **kwargs) if is_string: return self.line_separator.join(retval) return retval