PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  aNc@sdZddlmZddlmZdefdYZdefdYZdefd YZd Z dd gZ d e kre rdd l mZeeddZeZejZejdejdej\ZZeGeGHndS(s Middleware related to transactions and database connections. At this time it is very basic; but will eventually sprout all that two-phase commit goodness that I don't need. .. note:: This is experimental, and will change in the future. i(t HTTPException(t catch_errorstTransactionManagerMiddlewarecBseZdZdZRS(cCs ||_dS(N(t application(tselfR((s5/usr/lib/python2.7/site-packages/paste/transaction.pyt__init__scCs@t|d<}t|dCst PgQuoteString(tmoduletargstkwargstquotethasattrR(RR R!R"((s5/usr/lib/python2.7/site-packages/paste/transaction.pyR<s     cCs?|jj|j|j}|j|jd<|j|jd<|S(NR R#(R tconnectR!R"t__dict__R#(RR tconn((s5/usr/lib/python2.7/site-packages/paste/transaction.pyRGsN(RRt__doc__RtNoneR(((s5/usr/lib/python2.7/site-packages/paste/transaction.pyR5s csfd}|S(s Provides a simple mechanism for starting a transaction based on the factory; and for either committing or rolling back the transaction depending on the result. It checks for the response's current status code either through the latest call to start_response; or through a HTTPException's code. If it is a 100, 200, or 300; the transaction is committed; otherwise it is rolled back. cs_||ds  !