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 / sql / annotation.pyc
Size: Mime:
ó
‹EYc@sydZddlmZddlmZdefd„ƒYZiZdd„Zdd„Z	d	„Z
d
„Zd„ZdS(
sŸThe :class:`.Annotated` class and related routines; creates hash-equivalent
copies of SQL constructs which contain context-specific markers and
associations.

i(tutili(t	operatorst	AnnotatedcBsteZdZd„Zd„Zd„Zd„Zded„Z	d„Z
ed„ƒZd„Z
d	„Zd
„ZRS(sclones a ClauseElement and applies an 'annotations' dictionary.

    Unlike regular clones, this clone also mimics __hash__() and
    __cmp__() of the original element so that it takes its place
    in hashed collections.

    A reference to the original element is maintained, for the important
    reason of keeping its hash value current.  When GC'ed, the
    hash value may be reused, causing conflicts.

    cGsg|stj|ƒS|\}}yt|j}Wn#tk
rUt|j|ƒ}nXtj|ƒSdS(N(tobjectt__new__tannotated_classest	__class__tKeyErrort_new_annotation_type(tclstargstelementtvalues((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyRs

cCs7|jjƒ|_||_||_t|ƒ|_dS(N(t__dict__tcopyt_Annotated__elementt_annotationsthasht_hash(tselfRR((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyt__init__-s		cCs)|jjƒ}|j|ƒ|j|ƒS(N(RRtupdatet_with_annotations(RRt_values((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyt	_annotate3s
cCs4|jj|jƒ}|jjƒ|_||_|S(N(RRR
RR(RRtclone((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyR8s	cCsT|dkr|jS|jjƒ}x|D]}|j|dƒq)W|j|ƒSdS(N(tNoneRRRtpopR(RRRRtv((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyt_deannotate>s
cKs|jjj|||S(N(RRt_compiler_dispatch(Rtvisitortkw((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyRGscCs
|jjS(N(Rt_constructor(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyR!KscCsL|jjƒ}||jkr"|S|jj|jƒ|j||jƒSdS(N(Rt_cloneR
RRR(RR((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyR"Os
cCs|jS(N(R(R((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyt__hash__ZscCsEt|jtjƒr+|jjj||ƒSt|ƒt|ƒkSdS(N(t
isinstanceRRtColumnOperatorsRt__eq__R(Rtother((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyR&]sN(t__name__t
__module__t__doc__RRRRRtTrueRRtpropertyR!R"R#R&(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyRs								cs4‡‡‡fd†‰|dk	r0ˆ|ƒ}n|S(s¹Deep copy the given ClauseElement, annotating each element
    with the given annotations dictionary.

    Elements within the exclude collection will be cloned but not annotated.

    csqˆr6t|dƒr6|jjˆƒr6|jƒ}n'ˆ|jkrW|jˆƒ}n|}|jdˆƒ|S(Nt	proxy_setR(thasattrR-tintersectionR"RRt_copy_internals(telemtnewelem(tannotationsRtexclude(sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyRqsN(R(RR3R4((R3RR4sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyt_deep_annotatejscs@tjƒ‰‡‡‡fd†‰|dk	r<ˆ|ƒ}n|S(s2Deep copy the given element, removing annotations.cs]ˆs|ˆkrQ|jdˆdtƒ}|jdˆƒˆsM|ˆ|<n|Sˆ|SdS(NRR(RR+R0(R1R2(RtclonedR(sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyR‡s
N(Rtcolumn_dictR(RR((RR6RsN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyt_deep_deannotate‚s
cCs|j|ƒ}|jƒ|S(sAnnotate the given ClauseElement and copy its internals so that
    internal objects refer to the new annotated object.

    Basically used to apply a "dont traverse" annotation to a
    selectable, without digging throughout the whole
    structure wasting time.
    (RR0(RR3((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyt_shallow_annotateœs
cCs”t|tƒr|S|tkr't|Sx+|jD] }|tkr1t|}Pq1q1Wtd|j||fiƒt|<}|tƒd|j<|S(NsAnnotated%s(t
issubclassRRt__mro__ttypeR(tglobals(R	tbase_clstsuper_tanno_cls((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyR©s

cCsF|g}x6|rA|jƒ}|j|jƒƒt||ƒqWdS(N(Rtextendt__subclasses__R(ttarget_hierarchyR>tstackR	((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyt_prepare_annotations¾s
		N(
R*tRRRRRRR5R8R9RRE(((sN/home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/annotation.pyt<module>sU