Mercurial > hg > Lemuriformes
comparison lemuriformes/decorators.py @ 13:2227ff372388
decorators module
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sun, 10 Dec 2017 17:07:29 -0800 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
12:82cd4e0b66cf | 13:2227ff372388 |
---|---|
1 try: | |
2 # python2 | |
3 string = (str, unicode) | |
4 except NameError: | |
5 # python3 | |
6 string = (str,) | |
7 | |
8 | |
9 class fileobj(object): | |
10 """ | |
11 fileobj decorator: | |
12 inner function may take a file-like object or a string as path to file | |
13 The decorated function must take this as the first argument | |
14 """ | |
15 | |
16 | |
17 def __init__(self, function): | |
18 self.wrapped = function | |
19 | |
20 def __call__(self, fp, *args, **kwargs): | |
21 | |
22 if isinstance(fp, string): | |
23 with open(fp) as f: | |
24 return self.wrapped(f, *args, **kwargs) | |
25 | |
26 return self.wrapped(fp, *args, **kwargs) |