ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ 4]c@shdZddlZddlmZddlmZdejfdYZd ejfd YZdS( s8Provides a thread-local transactional wrapper around the root Engine class. The ``threadlocal`` module is invoked when using the ``strategy="threadlocal"`` flag with :func:`~sqlalchemy.engine.create_engine`. This module is semi-private and is invoked automatically when the threadlocal engine strategy is used. iNi(tbasei(tutilt TLConnectioncBs,eZdZdZdZdZRS(cOs&tt|j||d|_dS(Ni(tsuperRt__init__t_TLConnection__opencount(tselftargtkw((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyRscCs|jd7_|S(Ni(R(R((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyt_increment_connectscCs5|jdkr"tjj|n|jd8_dS(Ni(RRt Connectiontclose(R((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyR scCsd|_tjj|dS(Ni(RRR R (R((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyt _force_close$s (t__name__t __module__RR R R (((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyRs   tTLEnginecBseZdZeZejdddZdZdZ ddZ dZ dZ d Zd Zd Zd Zd ZdZedZdZdZRS(sPAn Engine that includes support for thread-local managed transactions. s1.3sThe 'threadlocal' engine strategy is deprecated, and will be removed in a future release. The strategy is no longer relevant to modern usage patterns (including that of the ORM :class:`.Session` object) which make use of a :class:`.Connection` object in order to invoke statements.cOs/tt|j||tjj|_dS(N(RRRRt threadingtlocalt _connections(Rtargstkwargs((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyR1s cKs |j|S(N(t_contextual_connect(RR((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pytcontextual_connect=scKst|jdsd}n|jj}|dks?|jr~|j||j|jj||}t j ||j_n|j S(Ntconn( thasattrRtNoneRtclosedt_tl_connection_clst_wrap_pool_connecttpooltconnecttweakreftrefR (RRt connection((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyR@s  cCsJt|jds!g|j_n|jjj|jjd||S(Nttranstxid(RRR"tappendRtbegin_twophase(RR#((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyR%Rs  cCsDt|jds!g|j_n|jjj|jj|S(NR"(RRR"R$Rt begin_nested(R((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyR&Zs  cCsDt|jds!g|j_n|jjj|jj|S(NR"(RRR"R$Rtbegin(R((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyR'bscCs|S(N((R((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyt __enter__hscCs'|dkr|jn |jdS(N(Rtcommittrollback(Rttype_tvaluet traceback((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyt__exit__ks  cCs<t|jd s |jj r$dS|jjdjdS(NR"i(RRR"tprepare(R((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyR/qs cCsGt|jd s |jj r$dS|jjjd}|jdS(NR"i(RRR"tpopR)(RR"((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyR)ys  cCsGt|jd s |jj r$dS|jjjd}|jdS(NR"i(RRR"R0R*(RR"((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyR*s  cCs)tjj|_tt|jdS(N(RRRRRRtdispose(R((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyR1scCs8t|jd p7|jjdkp7|jjjS(NR(RRRRR(R((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyRscCsN|jsJ|jj|jj}|j|j`g|j_ndS(N(RRR RRR R"(RR!((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyR s    cCs d|jS(Ns TLEngine(%r)(turl(R((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyt__repr__sN(R Rt__doc__RRRt deprecatedRRRRR%R&R'R(R.R/R)R*R1tpropertyRR R3(((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyR)s&          ( R4RtRRR RtEngineR(((sP/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/engine/threadlocal.pyts