Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
contego / home / tvault / .virtenv / lib / python2.7 / site-packages / sqlalchemy / util / _collections.pyc
Size: Mime:
ó
‹EYc@@s¼dZddlmZddlZddlZddlmZmZmZm	Z	ddl
mZddlZddl
Z
eƒZdefd„ƒYZd	efd
„ƒYZdefd„ƒYZd
efd„ƒYZdeefd„ƒYZdefd„ƒYZdefd„ƒYZdeefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd „ƒYZ d!efd"„ƒYZ!eZ"eZ#eZ$e!Z%e!ej&ƒZ'e!d#„ƒZ(dd$„Z*d%efd&„ƒYZ+d'„Z,dd(„Z-d)„Z.d*„Z/d+„Z0dd,„Z1d-„Z2d.efd/„ƒYZ3e3d0ƒZ4d1„Z5d2efd3„ƒYZ6d4e6fd5„ƒYZ7d6„Z8dS(7sCollection classes and helpers.i(tabsolute_importNi(t	threadingtitertools_filterfalsetstring_typestbinary_types(tpy2ktAbstractKeyedTuplecB@seZdZd„ZRS(cC@s
t|jƒS(s‰Return a list of string key names for this :class:`.KeyedTuple`.

        .. seealso::

            :attr:`.KeyedTuple._fields`

        (tlistt_fields(tself((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytkeyss	((t__name__t
__module__t	__slots__R
(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRst
KeyedTuplecB@s;eZdZdd„Zed„ƒZd„Zd„ZRS(sÆ``tuple`` subclass that adds labeled names.

    E.g.::

        >>> k = KeyedTuple([1, 2, 3], labels=["one", "two", "three"])
        >>> k.one
        1
        >>> k.two
        2

    Result rows returned by :class:`.Query` that contain multiple
    ORM entities and/or column expressions make use of this
    class to return rows.

    The :class:`.KeyedTuple` exhibits similar behavior to the
    ``collections.namedtuple()`` construct provided in the Python
    standard library, however is architected very differently.
    Unlike ``collections.namedtuple()``, :class:`.KeyedTuple` is
    does not rely on creation of custom subtypes in order to represent
    a new series of keys, instead each :class:`.KeyedTuple` instance
    receives its list of keys in place.   The subtype approach
    of ``collections.namedtuple()`` introduces significant complexity
    and performance overhead, which is not necessary for the
    :class:`.Query` object's use case.

    .. versionchanged:: 0.8
        Compatibility methods with ``collections.namedtuple()`` have been
        added including :attr:`.KeyedTuple._fields` and
        :meth:`.KeyedTuple._asdict`.

    .. seealso::

        :ref:`ormtutorial_querying`

    cC@sKtj||ƒ}|r4|jjt||ƒƒng}||jd<|S(Nt_labels(ttuplet__new__t__dict__tupdatetzip(tclstvalstlabelstt((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRJs
cC@s,tg|jD]}|dk	r
|^q
ƒS(sõReturn a tuple of string key names for this :class:`.KeyedTuple`.

        This method provides compatibility with ``collections.namedtuple()``.

        .. versionadded:: 0.8

        .. seealso::

            :meth:`.KeyedTuple.keys`

        N(RRtNone(R	tl((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRSs
cC@std|ƒ‚dS(NsCan't set attribute: %s(tAttributeError(R	tkeytvalue((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__setattr__bsc@s t‡fd†ˆjƒDƒƒS(sReturn the contents of this :class:`.KeyedTuple` as a dictionary.

        This method provides compatibility with ``collections.namedtuple()``,
        with the exception that the dictionary returned is **not** ordered.

        .. versionadded:: 0.8

        c3@s"|]}|ˆj|fVqdS(N(R(t.0R(R	(sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>ns(tdictR
(R	((R	sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt_asdictes	N(	RRt__doc__RRtpropertyRRR!(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR%s
#		t_LWcB@s)eZdZd„Zd„Zd„ZRS(cC@stj||ƒS(N(RR(RR((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRtscC@stt|ƒ|jffS(N(RRt_real_fields(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt
__reduce__wscC@s,tt|j|ƒƒ}|jddƒ|S(sAReturn the contents of this :class:`.KeyedTuple` as a dictionary.N(R RR%tpopR(R	td((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR!}s((RRR
RR&R!(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR$qs		tImmutableContainercB@seZd„ZeZZZRS(cO@std|jjƒ‚dS(Ns%s object is immutable(t	TypeErrort	__class__R(R	targtkw((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt
_immutable†s(RRR.t__delitem__t__setitem__R(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR)…s	t
immutabledictcB@sNeZejZZZZZd„Z	d„Z
d„Zd„Zd„Z
RS(cG@s#tj|ƒ}tj||Œ|S(N(R Rt__init__(Rtargstnew((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR‘scG@sdS(N((R	R3((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR2–scC@stt|ƒffS(N(R1R (R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR&™scC@sT|s
|S|s0t|tƒr#|St|ƒSn t|ƒ}tj||ƒ|SdS(N(t
isinstanceR1R R(R	R(td2((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytunionœs
cC@sdtj|ƒS(Nsimmutabledict(%s)(R t__repr__(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR8©s(RRR)R.tclearR'tpopitemt
setdefaultRRR2R&R7R8(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR1Œs				
t
PropertiescB@sËeZdZdZd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Zd„Z
d„Zd
„Zd„Zd„Zdd„Zd„Zd„Zd„Zd„Zd„ZRS(s8Provide a __getattr__/__setattr__ interface over a dict.t_datacC@stj|d|ƒdS(NR=(tobjectR(R	tdata((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR2²scC@s
t|jƒS(N(tlenR=(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__len__µscC@stt|jjƒƒƒS(N(titerRR=tvalues(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__iter__¸scC@st|ƒt|ƒS(N(R(R	tother((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__add__»scC@s||j|<dS(N(R=(R	RR>((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR0¾scC@s|j|S(N(R=(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__getitem__ÁscC@s|j|=dS(N(R=(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR/ÄscC@s||j|<dS(N(R=(R	Rtobj((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRÇscC@si|jd6S(NR=(R=(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__getstate__ÊscC@stj|d|dƒdS(NR=(R>R(R	tstate((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__setstate__ÍscC@s3y|j|SWntk
r.t|ƒ‚nXdS(N(R=tKeyErrorR(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__getattr__Ðs
cC@s
||jkS(N(R=(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__contains__ÖscC@s
t|jƒS(s8Return an immutable proxy for this :class:`.Properties`.(tImmutablePropertiesR=(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytas_immutableÙscC@s|jj|ƒdS(N(R=R(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRÞscC@s||kr||S|SdS(N((R	Rtdefault((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytgetáscC@s
t|jƒS(N(RR=(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR
çscC@st|jjƒƒS(N(RR=RC(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRCêscC@st|jjƒƒS(N(RR=titems(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRSíscC@s
||jkS(N(R=(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pythas_keyðscC@s|jjƒdS(N(R=R9(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR9ós(s_dataN(RRR"R
R2RARDRFR0RGR/RRIRKRMRNRPRRRRR
RCRSRTR9(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR<­s,																		tOrderedPropertiescB@seZdZdZd„ZRS(sUProvide a __getattr__/__setattr__ interface with an OrderedDict
    as backing store.cC@stj|tƒƒdS(N(R<R2tOrderedDict(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR2ýs((RRR"R
R2(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRU÷sROcB@seZdZdZRS(sDProvide immutable dict/object attribute to an underlying dictionary.((RRR"R
(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyROsRVcB@sÎeZdZdZd„Zdd„Zd„Zd„Zd„Z	d„Z
dd„Zd	„Zd
„Z
d„Zd„Zd
„Zer¨d„Zd„Zd„Znd„Zd„Zd„Zd„ZRS(sCA dict that returns keys/values/items in the order they were added.t_listcC@st|jƒffS(N(RVRS(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR&scK@sBg|_|dkr.|r>|j|q>n|j||dS(N(RWRR(R	t_OrderedDict____sequencetkwargs((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR2s
	cC@sg|_tj|ƒdS(N(RWR R9(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR9s	cC@s
|jƒS(N(t__copy__(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytcopyscC@s
t|ƒS(N(RV(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRZscO@s|jj||ŽdS(N(RWtsort(R	R,R-((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR\!scK@s‡|dk	rmt|dƒrIxL|jƒD]}|j|||ƒq(Wqmx!|D]\}}|||<qPWn|rƒ|j|ƒndS(NR
(RthasattrR
R0R(R	RXRYRR((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR$scC@s1||kr |j||ƒ|S|j|ƒSdS(N(R0RG(R	RR((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR;/scC@s
t|jƒS(N(RBRW(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRD6scC@s
t|ƒS(N(R(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR
9scC@sg|jD]}||^q
S(N(RW(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRC<scC@s$g|jD]}|||f^q
S(N(RW(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRS?scC@st|jƒƒS(N(RBRC(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt
itervaluesCscC@s
t|ƒS(N(RB(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytiterkeysFscC@st|jƒƒS(N(RBRS(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt	iteritemsIscC@sZ||krCy|jj|ƒWqCtk
r?|g|_qCXntj|||ƒdS(N(RWtappendRR R0(R	RR>((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR0Ls
cC@s$tj||ƒ|jj|ƒdS(N(R R/RWtremove(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR/VscG@s>||k}tj|||Œ}|r:|jj|ƒn|S(N(R R'RWRb(R	RRQtpresentR((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR'Zs
cC@s'tj|ƒ}|jj|dƒ|S(Ni(R R:RWRb(R	titem((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR:as(s_listN(RRR"R
R&RR2R9R[RZR\RR;RDR
RCRSRR^R_R`R0R/R'R:(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRVs,													
		t
OrderedSetcB@sãeZdd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d„Zd	„ZeZ
d
„ZeZd„ZeZd„ZeZd
„ZeZd„ZeZd„ZeZd„ZeZd„ZeZRS(cC@sTtj|ƒg|_|dk	rGt|ƒ|_tj||jƒn	g|_dS(N(tsetR2RWRtunique_listR(R	R(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR2hs
	cC@s3||kr|jj|ƒntj||ƒdS(N(RWRaRftadd(R	telement((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRhqscC@s$tj||ƒ|jj|ƒdS(N(RfRbRW(R	Ri((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRbvscC@s6||kr"|jj||ƒntj||ƒdS(N(RWtinsertRfRh(R	tposRi((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRjzscC@s3||kr/|jj|ƒtj||ƒndS(N(RWRbRf(R	Ri((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytdiscardscC@stj|ƒg|_dS(N(RfR9RW(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR9„s
cC@s|j|S(N(RW(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRGˆscC@s
t|jƒS(N(RBRW(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRD‹scC@s
|j|ƒS(N(R7(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRFŽscC@sd|jj|jfS(Ns%s(%r)(R+RRW(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR8‘scC@sDx=|D]5}||kr|jj|ƒtj||ƒqqW|S(N(RWRaRfRh(R	titerablete((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR–s

cC@s |j|ƒ}|j|ƒ|S(N(R+R(R	REtresult((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR7Ÿs
c@s)tˆƒ‰|j‡fd†|DƒƒS(Nc3@s!|]}|ˆkr|VqdS(N((Rta(RE(sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>¨s(RfR+(R	RE((REsQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytintersection¦sc@sLtˆƒ‰ˆj‡fd†ˆDƒƒ}|j‡fd†ˆDƒƒ|S(Nc3@s!|]}|ˆkr|VqdS(N((RRp(RE(sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>®sc3@s!|]}|ˆkr|VqdS(N((RRp(R	(sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>¯s(RfR+R(R	RERo((RER	sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytsymmetric_difference¬sc@s)tˆƒ‰|j‡fd†|DƒƒS(Nc3@s!|]}|ˆkr|VqdS(N((RRp(RE(sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>¶s(RfR+(R	RE((REsQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt
difference´scC@sKt|ƒ}tj||ƒg|jD]}||kr&|^q&|_|S(N(Rftintersection_updateRW(R	RERp((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRtºs+cC@sptj||ƒg|jD]}||kr|^q|_|jg|jD]}||krL|^qL7_|S(N(Rftsymmetric_difference_updateRW(R	RERp((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRuÂs+1cC@s?tj||ƒg|jD]}||kr|^q|_|S(N(Rftdifference_updateRW(R	RERp((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRvÊs+N(RRRR2RhRbRjRlR9RGRDRFR8t__str__Rt__ior__R7t__or__Rqt__and__Rrt__xor__Rst__sub__Rtt__iand__Rut__ixor__Rvt__isub__(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRegs6																		tIdentitySetcB@sseZdZeZd'd„Zd„Zd„Zd„Z	d„Z
d„Zd„Zd„Z
d	„Zd
„Zd„Zd„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d „Z%d!„Z&d"„Z'e'Z(d#„Z)d$„Z*d%„Z+d&„Z,RS((sÏA set that considers only object id() for uniqueness.

    This strategy has edge cases for builtin types- it's possible to have
    two 'foo' strings in one of these sets, for example.  Use sparingly.

    cC@s7tƒ|_|r3x|D]}|j|ƒqWndS(N(R t_membersRh(R	Rmto((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR2Üs
cC@s||jt|ƒ<dS(N(Rtid(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRhâscC@st|ƒ|jkS(N(RƒR(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRNåscC@s|jt|ƒ=dS(N(RRƒ(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRbèscC@s)y|j|ƒWntk
r$nXdS(N(RbRL(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRlës
cC@s?y|jjƒ}|dSWntk
r:tdƒ‚nXdS(Nispop from an empty set(RR:RL(R	tpair((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR'ñs

cC@s|jjƒdS(N(RR9(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR9øscC@stdƒ‚dS(Nscannot compare sets using cmp()(R*(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__cmp__ûscC@s't|tƒr|j|jkStSdS(N(R5R€RtFalse(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__eq__þscC@s't|tƒr|j|jkStSdS(N(R5R€RtTrue(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__ne__scC@sbt|ƒ|ƒ}t|ƒt|ƒkr.tSx-t|jjt|jjƒƒƒD]}tSWtS(N(	ttypeR@R†RRRNRBR
Rˆ(R	RmREtm((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytissubset
scC@s t|tƒstS|j|ƒS(N(R5R€tNotImplementedRŒ(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__le__scC@s8t|tƒstSt|ƒt|ƒko7|j|ƒS(N(R5R€RR@RŒ(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__lt__scC@sbt|ƒ|ƒ}t|ƒt|ƒkr.tSx-t|jjt|jjƒƒƒD]}tSWtS(N(	RŠR@R†RRRNRBR
Rˆ(R	RmRER‹((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt
issupersetscC@s t|tƒstS|j|ƒS(N(R5R€RR(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__ge__)scC@s8t|tƒstSt|ƒt|ƒko7|j|ƒS(N(R5R€RR@R(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__gt__.scC@sMt|ƒƒ}|jƒ}t|ƒ}|jj|j|ƒj|ƒƒ|S(N(RŠt_member_id_tuplest_iter_idRRt_working_setR7(R	RmRotmembersRE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR73s
"cC@s t|tƒstS|j|ƒS(N(R5R€RR7(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRy;scC@s|j|ƒj|_dS(N(R7R(R	Rm((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR@scC@s$t|tƒstS|j|ƒ|S(N(R5R€RR(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRxCs
cC@sMt|ƒƒ}|jƒ}t|ƒ}|jj|j|ƒj|ƒƒ|S(N(RŠR“R”RRR•Rs(R	RmRoR–RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRsIs
"cC@s t|tƒstS|j|ƒS(N(R5R€RRs(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR|QscC@s|j|ƒj|_dS(N(RsR(R	Rm((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRvVscC@s$t|tƒstS|j|ƒ|S(N(R5R€RRv(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRYs
cC@sMt|ƒƒ}|jƒ}t|ƒ}|jj|j|ƒj|ƒƒ|S(N(RŠR“R”RRR•Rq(R	RmRoR–RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRq_s
"cC@s t|tƒstS|j|ƒS(N(R5R€RRq(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRzgscC@s|j|ƒj|_dS(N(RqR(R	Rm((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRtlscC@s$t|tƒstS|j|ƒ|S(N(R5R€RRt(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR}os
cC@sMt|ƒƒ}|jƒ}t|ƒ}|jj|j|ƒj|ƒƒ|S(N(RŠR“R”RRR•Rr(R	RmRoR–RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRrus	cC@sd„|jjƒDƒS(Ncs@s!|]}t|ƒ|fVqdS(N(Rƒ(Rtv((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>s(RRC(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR“~scC@s t|tƒstS|j|ƒS(N(R5R€RRr(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR{scC@s|j|ƒj|_dS(N(RrR(R	Rm((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRu†scC@s$t|tƒstS|j|ƒ|S(N(R5R€RRr(R	RE((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR~‰s
cC@st|ƒt|jjƒƒƒS(N(RŠRBRRC(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR[scC@s
t|jƒS(N(R@R(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRA”scC@st|jjƒƒS(N(RBRRC(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRD—scC@stdƒ‚dS(Nsset objects are unhashable(R*(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__hash__šscC@s&dt|ƒjt|jjƒƒfS(Ns%s(%r)(RŠRRRRC(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR8sN(-RRR"RfR•RR2RhRNRbRlR'R9R…R‡R‰RŒRŽRRR‘R’R7RyRRxRsR|RvRRqRzRtR}RrR“R{RuR~R[RZRARDR˜R8(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR€ÒsR										
																											tWeakSequencecB@sAeZdd„Zd„Zd„Zd„Zd„Zd„ZRS(cC@s/g|D]}tj||jƒ^q|_dS(N(tweakreftreft_removet_storage(R	t_WeakSequence__elementsRi((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR2¢scC@s#|jjtj||jƒƒdS(N(RRaRšR›Rœ(R	Rd((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRa§scC@s|jj|ƒdS(N(RRb(R	R›((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRœªscC@s
t|jƒS(N(R@R(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRA­scC@sd„d„|jDƒDƒS(Ncs@s!|]}|dk	r|VqdS(N(R(RRH((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>±scs@s|]}|ƒVqdS(N((RR›((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pys	<genexpr>²s(R(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRD°scC@s@y|j|}Wn!tk
r4td|ƒ‚nX|ƒSdS(NsIndex %s out of range(RRLt
IndexError(R	tindexRH((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRG´s

((RRR2RaRœRARDRG(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR™¡s				tOrderedIdentitySetcB@s*eZdefd„ƒYZdd„ZRS(R•cB@seZeZRS((RRRˆt__sa_hash_exempt__(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR•¾scC@sDtj|ƒtƒ|_|r@x|D]}|j|ƒq&WndS(N(R€R2RVRRh(R	RmR‚((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR2Ås


N(RRReR•RR2(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR¡½stPopulateDictcB@s eZdZd„Zd„ZRS(s•A dict which populates missing values via a creation function.

    Note the creation function takes a key, unlike
    collections.defaultdict.

    cC@s
||_dS(N(tcreator(R	R¤((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR2ÕscC@s|j|ƒ||<}|S(N(R¤(R	Rtval((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__missing__Øs(RRR"R2R¦(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR£Ís	cC@sttj|ƒƒS(N(R#toperatort
itemgetter(tidx((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt<lambda>éscC@sˆtƒ}|j}|sHg|D]%}||kr||ƒr|^qSg|D]1}||ƒ|krO|||ƒƒrO|^qOSdS(N(RfRh(tseqthashfunctseentseen_addtx((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRgìs		

tUniqueAppendercB@s,eZdZdd„Zd„Zd„ZRS(s½Appends items to a collection ensuring uniqueness.

    Additional appends() of the same object are ignored.  Membership is
    determined by identity (``is a``) not equality (``==``).
    cC@sm||_i|_|r-t||ƒ|_n<t|dƒrK|j|_nt|dƒri|j|_ndS(NRaRh(R?t_uniquetgetattrt_data_appenderR]RaRh(R	R?tvia((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR2s		cC@s<t|ƒ}||jkr8|j|ƒt|j|<ndS(N(RƒR±R³Rˆ(R	Rdtid_((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRa
s
cC@s
t|jƒS(N(RBR?(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRDsN(RRR"RR2RaRD(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR°ùs
	cC@s>t|ƒdkr6t|dtjƒr6t|dƒS|SdS(Nii(R@R5ttypest
GeneratorTypeR(R,((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytcoerce_generator_args(cC@s^|dkr|St|tjƒs6t|ttƒr=|gSt|tƒrP|St|ƒSdS(N(RR5tcollectionstIterableRRR(R¯RQ((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytto_listscC@s/t|jg|D]}|jr|^qƒƒS(s±return True if any items of set_ are present in iterable.

    Goes through special effort to ensure __hash__ is not called
    on items in iterable that don't support it.

    (tboolRqR˜(tset_Rmti((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pythas_intersection'scC@s:|dkrtƒSt|tƒs2tt|ƒƒS|SdS(N(RRfR5R»(R¯((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytto_set4s
cC@s:|dkrtƒSt|tƒs2tt|ƒƒS|SdS(N(Rt
column_setR5R»(R¯((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt
to_column_set=s
cK@s3|jƒ}|r"|j|ƒn|j||S(s5Copy the given dict and update with the given values.(R[R(R(t_newR-((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytupdate_copyFs

cc@sXxQ|D]I}t|tƒrKt|dƒrKx!t|ƒD]}|Vq9Wq|VqWdS(sGiven an iterator of which further sub-elements may also be
    iterators, flatten the sub-elements into a single iterator.

    RDN(R5tstrR]tflatten_iterator(R¯telemty((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRÆPs

tLRUCachecB@s_eZdZddd„Zd„Zdd„Zd„Zd„Zd„Z	d	„Z
d
„ZRS(sóDictionary with 'squishy' removal of least
    recently used items.

    Note that either get() or [] should be used here, but
    generally its not safe to do an "in" check first as the dictionary
    can change subsequent to that call.

    idgà?cC@s.||_||_d|_tjƒ|_dS(Ni(tcapacityt	thresholdt_counterRtLockt_mutex(R	RÊRË((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR2gs			cC@s|jd7_|jS(Ni(RÌ(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt_inc_countermscC@sAtj|||ƒ}||k	r9|jƒ|d<|dS|SdS(Nii(R RRRÏ(R	RRQRd((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRRqs
cC@s*tj||ƒ}|jƒ|d<|dS(Nii(R RGRÏ(R	RRd((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRGyscC@s$gtj|ƒD]}|d^qS(Ni(R RC(R	R¾((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRC~scC@s&||kr||S|||<|SdS(N((R	RR((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR;s
cC@satj||ƒ}|dkrI|||jƒg}tj|||ƒn
||d<|jƒdS(Ni(R RRRRÏR0t_manage_size(R	RRRd((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR0ˆs
cC@sÁ|jjtƒsdSz–xt|ƒ|j|j|jkrªttj|ƒdt	j
dƒdtƒ}x;||jD],}y||d=Wqwtk
r¢qwqwXqwWqWWd|jj
ƒXdS(NRitreversei(RÎtacquireR†R@RÊRËtsortedR RCR§R¨RˆRLtrelease(R	t
by_counterRd((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRБs&	
N(RRR"R2RÏRRRRGRCR;R0RÐ(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRÉ]s						idc	C@sÎ|ft|ƒ}tj|ƒ}|r,|St|tftgt|ƒD](\}}|dk	rH|t|f^qHddfgƒƒ}||_	tg|D]}|dk	rœ|^qœƒ|_
|t|<|S(NR
((Rt
_lw_tuplesRRRŠR$R t	enumerateRt_property_gettersR%R(tnametfieldsthash_ttp_clsR©tfieldtf((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pytlightweight_named_tuple¦s	5	.
tScopedRegistrycB@s;eZdZd„Zd„Zd„Zd„Zd„ZRS(sÆA Registry that can store one or multiple instances of a single
    class on the basis of a "scope" function.

    The object implements ``__call__`` as the "getter", so by
    calling ``myregistry()`` the contained object is returned
    for the current scope.

    :param createfunc:
      a callable that returns a new object to be placed in the registry

    :param scopefunc:
      a callable that will return a key to store/retrieve an object.
    cC@s||_||_i|_dS(sVConstruct a new :class:`.ScopedRegistry`.

        :param createfunc:  A creation function that will generate
          a new value for the current scope, if none is present.

        :param scopefunc:  A function that returns a hashable
          token representing the current scope (such as, current
          thread identifier).

        N(t
createfunct	scopefunctregistry(R	RáRâ((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR2Ês		cC@sI|jƒ}y|j|SWn'tk
rD|jj||jƒƒSXdS(N(RâRãRLR;Rá(R	R((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt__call__Ùs

cC@s|jƒ|jkS(s9Return True if an object is present in the current scope.(RâRã(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pythasàscC@s||j|jƒ<dS(s$Set the value for the current scope.N(RãRâ(R	RH((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRfåscC@s,y|j|jƒ=Wntk
r'nXdS(s Clear the current scope, if any.N(RãRâRL(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR9ês
(RRR"R2RäRåRfR9(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRà»s
				tThreadLocalRegistrycB@s;eZdZd„Zd„Zd„Zd„Zd„ZRS(s\A :class:`.ScopedRegistry` that uses a ``threading.local()``
    variable for storage.

    cC@s||_tjƒ|_dS(N(RáRtlocalRã(R	Rá((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR2ùs	cC@s=y|jjSWn(tk
r8|jƒ}|j_|SXdS(N(RãRRRá(R	R¥((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRäýs

cC@st|jdƒS(NR(R]Rã(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRåscC@s||j_dS(N(RãR(R	RH((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRfscC@s%y
|j`Wntk
r nXdS(N(RãRR(R	((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR9
s

(RRR"R2RäRåRfR9(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyRæós				cc@s&x|D]}t|ƒ|fVqWdS(s*Generator: ((id(o), o) for o in iterable).N(Rƒ(RmRd((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyR”s
(9R"t
__future__RRšR§tcompatRRRRtRR¶R¹t	frozensett	EMPTY_SETRRRR$R>R)R R1R<RURORVRfReR€R™R¡R£RÁtcolumn_dicttordered_column_settpopulate_column_dictR¨t_gettersRØRRgR°R¸R»R¿RÀRÂRÄRÆRÉRÖRßRàRæR”(((sQ/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/util/_collections.pyt<module>sX"	L!J
`kÏ
		
				
	
F	8