ÿØÿà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Áß_ÿÙ aKc@sddlZddlZddlmZddlmZmZddlmZddlm Z ej e Z dadefdYZdefd YZdS( iN(tdatetime(tOpenResourceNamespaceManagert Container(tInvalidCacheBackendError(tnull_synchronizertGoogleNamespaceManagercBseZiZedZddZdZdZdZdZ dZ dZ d Z d Z d Zd ZRS( cCsMtdk rdSytdjjjaWntk rHtdnXdS(Nsgoogle.appengine.ext.dbsCDatastore cache backend requires the 'google.appengine.ext' library(tdbtNonet __import__t appenginetextt ImportErrorR(tcls((sB/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/google.pyt_init_dependenciess   t beaker_cachec stj||fd}|_tjj||_i|_t|_ t|_ t j t jk|_d|j|_dS(s%Creates a datastore namespace managercsItdtjdtjdtj}ttjf|}|S(Ntcreatedtaccessedtdata(tdictRtDateTimePropertyt BlobPropertyttypetModel(t table_dictttable(t table_name(sB/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/google.pyt make_caches  sp%sN(Rt__init__RRttablest setdefaulttcachethashtFalset_is_newtloadedtloggingtDEBUGtlogtgetEffectiveLevelt log_debugt namespace(tselfR(RtparamsR((RsB/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/google.pyRs    cCstS(N(R(R)((sB/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/google.pytget_access_lock0scCstS(N(R(R)tkey((sB/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/google.pytget_creation_lock3scCs|jr||_dS|jj|j}|sFt|_i|_nvt|_yt j t |j |_WnKt ttt jfk r|jrtjdni|_t|_nX||_t|_dS(Ns.Couln't load pickle data, creating new storage(R"tflagsRtget_by_key_nameR(tTrueR!RR tcPickletloadststrRtIOErrortOSErrortEOFErrort PickleErrorR'R%tdebug(R)R.titem((sB/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/google.pytdo_open7s"         cCs|jdk r|jdks-|jdkr|jr|jd|j}tj|j|_t j |_ t j |_ |j t|_q|jj|j}tj|j|_t j |_ |j nd|_dS(Ntctwtkey_name(R.RR!RR(R1tdumpsRRRtnowRRtputR R/(R)R9((sB/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/google.pytdo_closeNs-    cCs5|jj|j}|ji|_t|_dS(N(RR/R(tdeleteRR0R!(R)R9((sB/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/google.pyt do_remove^s  cCs |j|S(N(R(R)R,((sB/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/google.pyt __getitem__gscCs|jj|S(N(Rthas_key(R)R,((sB/opt/alt/python27/lib/python2.7/site-packages/beaker/ext/google.pyt __contains__jscCs||j|s  j