ó õùPc@s\dZddlmZmZd Zd Zeed„Zeed„Zd „Zd „Z d 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||ƒjt||iƒƒ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((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\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 ((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pytwraps's cCsKidd„fdd„fdd„fgd6dd„fdd „fdd „fgd6dd „fdd „fdd „fgd6dd„fdd„fdd„fgd6}tt|ƒƒt|ƒ@}|sãtdƒ‚nt|ƒ}xU||D]I\}}||krú||_tt|ƒj|_t|||ƒqúqúW|S(s6Class decorator that fills in missing ordering methodst__gt__cSs ||kS(N((tselftother((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyt8st__le__cSs ||k S(N((RR((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyR9st__ge__cSs ||k S(N((RR((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyR:st__lt__cSs ||kS(N((RR((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyR;scSs ||k S(N((RR((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyR<scSs ||k S(N((RR((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyR=scSs ||kS(N((RR((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyR>scSs ||k S(N((RR((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyR?scSs ||k S(N((RR((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyR@scSs ||kS(N((RR((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyRAscSs ||k S(N((RR((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyRBscSs ||k S(N((RR((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyRCss6must define at least one ordering operation: < > <= >=( tsettdirt ValueErrortmaxRRtintRR(tclstconverttrootstroottopnametopfunc((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyttotal_ordering5s.           cs dtf‡fd†ƒY}|S(s,Convert a cmp= function into a key= functiontKcsteZd„Z‡fd†Z‡fd†Z‡fd†Z‡fd†Z‡fd†Z‡fd†Zd„Z RS(cWs ||_dS(N(tobj(RR$targs((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyt__init__Sscsˆ|j|jƒdkS(Ni(R$(RR(tmycmp(s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyRUscsˆ|j|jƒdkS(Ni(R$(RR(R'(s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyRWscsˆ|j|jƒdkS(Ni(R$(RR(R'(s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyt__eq__Yscsˆ|j|jƒdkS(Ni(R$(RR(R'(s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyR[scsˆ|j|jƒdkS(Ni(R$(RR(R'(s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyR]scsˆ|j|jƒdkS(Ni(R$(RR(R'(s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyt__ne___scSstdƒ‚dS(Nshash not implemented(t TypeError(R((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyt__hash__as( RRR&RRR(RRR)R+((R'(s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyR#Rs (tobject(R'R#((R's7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyt cmp_to_keyPsN(s __module__s__name__s__doc__(s__dict__( Rt _functoolsRRtWRAPPER_ASSIGNMENTStWRAPPER_UPDATESRRR"R-(((s7J:\tools\MySQL Workbench 5.2 CE\python\lib\functools.pyts