Return a new function allowing fn( 'a 1 b' ) to be called as newfn( 'a', 1, 'b' )
(fn)
| 155 | |
| 156 | |
| 157 | def makeListCompatible(fn): |
| 158 | """Return a new function allowing fn( 'a 1 b' ) to be called as |
| 159 | newfn( 'a', 1, 'b' )""" |
| 160 | |
| 161 | def newfn(*args): |
| 162 | "Generated function. Closure-ish." |
| 163 | if len(args) == 1: |
| 164 | return fn(*args) |
| 165 | args = ' '.join(str(arg) for arg in args) |
| 166 | return fn(args) |
| 167 | |
| 168 | # Fix newfn's name and docstring |
| 169 | setattr(newfn, '__name__', fn.__name__) |
| 170 | setattr(newfn, '__doc__', fn.__doc__) |
| 171 | return newfn |
| 172 | |
| 173 | |
| 174 | _loggers = lg.info, lg.output, lg.warn, lg.error, lg.debug |