1 from functools
import wraps
7 self
.namespace
= {'GPR': self
.gpr
,
9 'memassign': self
.memassign
12 def memassign(self
, ea
, sz
, val
):
16 """ Decorator factory. """
17 def variable_injector(func
):
19 def decorator(*args
, **kwargs
):
21 func_globals
= func
.__globals
__ # Python 2.6+
22 except AttributeError:
23 func_globals
= func
.func_globals
# Earlier versions.
25 saved_values
= func_globals
.copy() # Shallow copy of dict.
26 func_globals
.update(context
)
28 result
= func(*args
, **kwargs
)
29 #exec (func.__code__, func_globals)
32 # func_globals = saved_values # Undo changes.
38 return variable_injector
40 if __name__
== '__main__':
42 namespace
= {'a': 5, 'b': 3, 'd': d
}