Add compose, partialable and xpath to resources/python.

This commit is contained in:
2014-09-11 18:06:18 -07:00
parent da83999cb6
commit 6cd1921102
3 changed files with 190 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
import functools
def compose2(f, g):
return lambda x: f(g(x))
def compose(*functions):
return reduce(compose2, functions)
def extract_args(function):
@functools.wraps(function)
def wrapped(args):
return function(*args)
return wrapped
def extract_kwargs(function):
@functools.wraps(function)
def wrapped(kwargs):
return function(**kwargs)
return wrapped
def extract_args_kwargs(function):
@functools.wraps(function)
def wrapped((args, kwargs)):
return function(*args, **kwargs)
return wrapped