Ńň §ÚęLc@sJdZddklZlZd Zd Zeed„Zeed„Zd S( sEfunctools.py - Tools for working with functions and callable objects i˙˙˙˙(tpartialtreducet __module__t__name__t__doc__t__dict__cCsax'|D]}t||t||ƒƒqWx0|D](}t||ƒit||hƒƒq1W|S(sUpdate a wrapper function to look like the wrapped function wrapper is the function to be updated wrapped is the original function assigned is a tuple naming the attributes assigned directly from the wrapped function to the wrapper function (defaults to functools.WRAPPER_ASSIGNMENTS) updated is a tuple naming the attributes of the wrapper that are updated with the corresponding attribute from the wrapped function (defaults to functools.WRAPPER_UPDATES) (tsetattrtgetattrtupdate(twrappertwrappedtassignedtupdatedtattr((s!/usr/lib64/python2.6/functools.pytupdate_wrappers&cCsttd|d|d|ƒS(s‹Decorator factory to apply update_wrapper() to a wrapper function Returns a decorator that invokes update_wrapper() with the decorated function as the wrapper argument and the arguments to wraps() as the remaining arguments. Default arguments are as for update_wrapper(). This is a convenience function to simplify applying partial() to update_wrapper(). R R R (RR(R R R ((s!/usr/lib64/python2.6/functools.pytwraps's N(s __module__s__name__s__doc__(s__dict__(Rt _functoolsRRtWRAPPER_ASSIGNMENTStWRAPPER_UPDATESRR(((s!/usr/lib64/python2.6/functools.pyts