ÿØÿà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Áß_ÿÙ 7YKc@sddlZddlZddlZddlmZddlmZmZddlmZm Z ddl m Z m Z ddl mZmZejeZdadefdYZd efd YZd d ZdS( iN(tdatetime(tOpenResourceNamespaceManagert Container(tInvalidCacheBackendErrortMissingCacheParameter(tfile_synchronizertnull_synchronizer(tverify_directorytSyncDicttSqlaNamespaceManagercBseZeZeZedZd d dZdZ dZ dZ dZ dZ dZdZd Zd Zd ZRS( cCsDtdk rdSyddlaWntk r?tdnXdS(Nis?SQLAlchemy, which is required by this backend, is not installed(tsatNonet sqlalchemyt ImportErrorR(tcls((s@/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/sqla.pyt_init_dependenciess   c stj|||r"||_n|r8|d|_n|jrQt|jn|jjjtjfd|_ |jj jdjj ffd|_ i|_ t|_t|_dS(sQCreate a namespace manager for use with a database table via SQLAlchemy. ``bind`` SQLAlchemy ``Engine`` or ``Connection`` object ``table`` SQLAlchemy ``Table`` object in which to store namespace data. This should usually be something created by ``make_cache_table``. s/container_db_lockcsS(N(((tbind(s@/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/sqla.pyt4ts%s:%scsS(N(((ttable(s@/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/sqla.pyR6RN(Rt__init__tlock_dirRt __class__tbindstgettstrturlRttablestnameRthashtFalset_is_newtloaded(tselft namespaceRRtdata_dirRtkwargs((RRs@/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/sqla.pyRs   -  cCstS(N(R(R!((s@/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/sqla.pytget_access_lock;scCstdd|jd|jS(Nt identifiersdatabasecontainer/funclock/%sR(RR"R(R!tkey((s@/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/sqla.pytget_creation_lock>s c Cs|jr||_dStj|jjjg|jjj|jk}|jj |j }|syt |_ i|_ nbt|_ y|d|_ WnEttttjtjfk rtjdi|_ t |_ nX||_t |_dS(Ntdatas.Couln't load pickle data, creating new storage(R tflagsR tselectRtcR)R"RtexecutetfetchonetTrueRRRtIOErrortOSErrortEOFErrortcPicklet PickleErrortpickletlogtdebug(R!R*R+tresult((s@/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/sqla.pytdo_openCs&         c Cs|jdk r|jdks-|jdkr|jr|jj}|jj|d|jd|jdt j dt j t |_q|jj |jj j|jk}|jj|d|jdt j nd|_dS(NR,twR"R)taccessedtcreated(R*R RRtinsertRR-R"RRtnowRtupdateR,(R!R=R?((s@/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/sqla.pytdo_closeYs- ! $(cCsJ|jj|jjj|jk}|jj|i|_t|_dS(N( RtdeleteR,R"RR-RR/R(R!RA((s@/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/sqla.pyt do_removees$ cCs |j|S(N(R(R!R'((s@/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/sqla.pyt __getitem__kscCs|jj|S(N(Rthas_key(R!R'((s@/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/sqla.pyt __contains__nscCs||j|s   k