Show More
@@ -1,66 +1,55 b'' | |||||
1 | """Dependency utilities""" |
|
1 | """Dependency utilities""" | |
2 |
|
2 | |||
3 | from IPython.external.decorator import decorator |
|
3 | from IPython.external.decorator import decorator | |
4 |
|
4 | |||
5 | # flags |
|
5 | # flags | |
6 | ALL = 1 << 0 |
|
6 | ALL = 1 << 0 | |
7 | ANY = 1 << 1 |
|
7 | ANY = 1 << 1 | |
8 | HERE = 1 << 2 |
|
8 | HERE = 1 << 2 | |
9 | ANYWHERE = 1 << 3 |
|
9 | ANYWHERE = 1 << 3 | |
10 |
|
10 | |||
11 | class UnmetDependency(Exception): |
|
11 | class UnmetDependency(Exception): | |
12 | pass |
|
12 | pass | |
13 |
|
13 | |||
14 | class depend2(object): |
|
14 | class depend2(object): | |
15 | """dependency decorator""" |
|
15 | """dependency decorator""" | |
16 | def __init__(self, f, *args, **kwargs): |
|
16 | def __init__(self, f, *args, **kwargs): | |
17 | print "Inside __init__()" |
|
17 | print "Inside __init__()" | |
18 | self.dependency = (f,args,kwargs) |
|
18 | self.dependency = (f,args,kwargs) | |
19 |
|
19 | |||
20 | def __call__(self, f, *args, **kwargs): |
|
20 | def __call__(self, f, *args, **kwargs): | |
21 | f._dependency = self.dependency |
|
21 | f._dependency = self.dependency | |
22 | return decorator(_depend_wrapper, f) |
|
22 | return decorator(_depend_wrapper, f) | |
23 |
|
23 | |||
24 | class depend(object): |
|
24 | class depend(object): | |
25 | """Dependency decorator, for use with tasks.""" |
|
25 | """Dependency decorator, for use with tasks.""" | |
26 | def __init__(self, f, *args, **kwargs): |
|
26 | def __init__(self, f, *args, **kwargs): | |
27 | print "Inside __init__()" |
|
27 | print "Inside __init__()" | |
28 | self.f = f |
|
28 | self.f = f | |
29 | self.args = args |
|
29 | self.args = args | |
30 | self.kwargs = kwargs |
|
30 | self.kwargs = kwargs | |
31 |
|
31 | |||
32 | def __call__(self, f): |
|
32 | def __call__(self, f): | |
33 | return dependent(f, self.f, *self.args, **self.kwargs) |
|
33 | return dependent(f, self.f, *self.args, **self.kwargs) | |
34 |
|
34 | |||
35 | class dependent(object): |
|
35 | class dependent(object): | |
36 | """A function that depends on another function. |
|
36 | """A function that depends on another function. | |
37 | This is an object to prevent the closure used |
|
37 | This is an object to prevent the closure used | |
38 | in traditional decorators, which are not picklable. |
|
38 | in traditional decorators, which are not picklable. | |
39 | """ |
|
39 | """ | |
40 |
|
40 | |||
41 | def __init__(self, f, df, *dargs, **dkwargs): |
|
41 | def __init__(self, f, df, *dargs, **dkwargs): | |
42 | self.f = f |
|
42 | self.f = f | |
43 | self.func_name = self.f.func_name |
|
43 | self.func_name = self.f.func_name | |
44 | self.df = df |
|
44 | self.df = df | |
45 | self.dargs = dargs |
|
45 | self.dargs = dargs | |
46 | self.dkwargs = dkwargs |
|
46 | self.dkwargs = dkwargs | |
47 |
|
47 | |||
48 | def __call__(self, *args, **kwargs): |
|
48 | def __call__(self, *args, **kwargs): | |
49 | if self.df(*self.dargs, **self.dkwargs) is False: |
|
49 | if self.df(*self.dargs, **self.dkwargs) is False: | |
50 | raise UnmetDependency() |
|
50 | raise UnmetDependency() | |
51 | return self.f(*args, **kwargs) |
|
51 | return self.f(*args, **kwargs) | |
52 |
|
52 | |||
53 | def evaluate_dependency(deps): |
|
|||
54 | """Evaluate wheter dependencies are met. |
|
|||
55 |
|
||||
56 | Parameters |
|
|||
57 | ---------- |
|
|||
58 | deps : dict |
|
|||
59 | """ |
|
|||
60 | pass |
|
|||
61 |
|
||||
62 | def _check_dependency(flag): |
|
|||
63 | pass |
|
|||
64 |
|
53 | |||
|
54 | __all__ = ['UnmetDependency', 'depend', 'evaluate_dependencies'] | |||
65 |
|
55 | |||
66 | __all__ = ['UnmetDependency', 'depend', 'evaluate_dependencies'] No newline at end of file |
|
General Comments 0
You need to be logged in to leave comments.
Login now