%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python2.7/
Upload File :
Create Path :
Current File : //usr/local/lib/python2.7/copy_reg.pyc

ó
Mêáac@sÖdZddlmZdddddgZiZdd„Zd	„Zye	Wne
k
ranXd
„Zee	ee	ƒd„ZdZ
d„Zd„Zd„ZiZiZiZd„Zd„Zd„ZdS(s¬Helper to provide extensibility for pickle/cPickle.

This is only useful to add pickle support for extension types defined in
C, not for instances of user-defined classes.
iÿÿÿÿ(t	ClassTypetpickletconstructort
add_extensiontremove_extensiontclear_extension_cachecCsft|ƒtkr!tdƒ‚nt|dƒs?tdƒ‚n|t|<|dk	rbt|ƒndS(Ns-copy_reg is not intended for use with classest__call__s$reduction functions must be callable(ttypet
_ClassTypet	TypeErrorthasattrtdispatch_tabletNoneR(tob_typetpickle_functiontconstructor_ob((s$/usr/local/lib/python2.7/copy_reg.pyRs
cCs"t|dƒstdƒ‚ndS(NRsconstructors must be callable(R
R	(tobject((s$/usr/local/lib/python2.7/copy_reg.pyRscCst|j|jffS(N(tcomplextrealtimag(tc((s$/usr/local/lib/python2.7/copy_reg.pytpickle_complex'scCsY|tkrtj|ƒ}n7|j||ƒ}|jtjkrU|j||ƒn|S(N(Rt__new__t__init__(tclstbasetstatetobj((s$/usr/local/lib/python2.7/copy_reg.pyt_reconstructor.sii	cCs8|dkst‚x;|jjD]'}t|dƒr|jt@rPqqWt}|tkred}n.||jkr‡td|j	‚n||ƒ}|j||f}y
|j
}WnYtk
r
t|ddƒrãtdƒ‚ny
|j
}Wqtk
r	d}qXn
X|ƒ}|r*t||fSt|fSdS(Nit	__flags__scan't pickle %s objectst	__slots__sNa class that defines __slots__ without defining __getstate__ cannot be pickled(tAssertionErrort	__class__t__mro__R
Rt	_HEAPTYPERRR	t__name__t__getstate__tAttributeErrortgetattrt__dict__R(tselftprotoRRtargstgetstatetdict((s$/usr/local/lib/python2.7/copy_reg.pyt
_reduce_ex;s0	



	
cGs|j||ŒS(N(R(RR*((s$/usr/local/lib/python2.7/copy_reg.pyt
__newobj__\scCs4|jjdƒ}|dk	r"|Sg}t|dƒs:nßxÜ|jD]Ñ}d|jkrD|jd}t|tƒr|f}nx‘|D]†}|d	kr qˆqˆ|jdƒr|jdƒr|j	j
dƒ}|rñ|jd||fƒq|j|ƒqˆ|j|ƒqˆWqDqDWy
||_WnnX|S(
s›Return a list of slot names for a given class.

    This needs to find slots defined by the class and its bases, so we
    can't simply return the __slots__ attribute.  We must walk down
    the Method Resolution Order and concatenate the __slots__ of each
    class found there.  (This assumes classes don't modify their
    __slots__ attribute to misrepresent their slots after the class is
    defined.)
    t
__slotnames__RR't__weakref__t__t_s_%s%sN(R'R0(
R'tgetRR
R!t
isinstancet
basestringt
startswithtendswithR#tlstriptappendR/(RtnamesRtslotstnametstripped((s$/usr/local/lib/python2.7/copy_reg.pyt
_slotnames_s2


cCsØt|ƒ}d|ko#dkns4td‚n||f}tj|ƒ|krntj|ƒ|krndS|tkr—td|t|fƒ‚n|tkrÀtd|t|fƒ‚n|t|<|t|<dS(sRegister an extension code.iiÿÿÿscode out of rangeNs)key %s is already registered with code %ss$code %s is already in use for key %s(tintt
ValueErrort_extension_registryR3t_inverted_registry(tmoduleR<tcodetkey((s$/usr/local/lib/python2.7/copy_reg.pyR¡s
cCsw||f}tj|ƒ|ks6tj|ƒ|krOtd||fƒ‚nt|=t|=|tkrst|=ndS(s0Unregister an extension code.  For testing only.s%key %s is not registered with code %sN(RAR3RBR@t_extension_cache(RCR<RDRE((s$/usr/local/lib/python2.7/copy_reg.pyR³scCstjƒdS(N(RFtclear(((s$/usr/local/lib/python2.7/copy_reg.pyR¿sNi(t__doc__ttypesRRt__all__RRRRRt	NameErrorRRR"R-R.R>RARBRFRRR(((s$/usr/local/lib/python2.7/copy_reg.pyt<module>s.
	
				!		<		

Zerion Mini Shell 1.0