ó §]Sc@sžddlZddlZddlZddlZddlZddlZddlZddlZddlZdZ d„Z d„Z de fd„ƒYZ dS(iÿÿÿÿNs.cache-versioncCsstjjtjƒ}tjtjj|dƒƒ}|jtj dƒd„|Dƒ}t j dj|ƒƒj ƒS(Ns*.pycicss'|]}ttj|ƒjƒVqdS(N(tstrtoststattst_mtime(t.0tsource((sz/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/cachestore.pys )st( Rtpathtdirnamet giscannert__file__tglobtjointappendtsystargvthashlibtsha1t hexdigest(ttopleveltsourcestmtimes((sz/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyt_get_versionhash#s cCs dtjkrdStjjdƒ}|dkr5dStjj|ƒsKdStjj|dƒ}tjj|ƒsžytj|dƒWqžtk ršdSXntjj|dƒ}tjj|ƒsñytj|dƒWqtk rídSXntjj |ƒsdS|S(NtGI_SCANNER_DISABLE_CACHEtHOMEs.cacheiís g-ir-scanner( RtenvirontNonetgetRtexistsR tmkdirtOSErrortisdir(thomedirtcachedirt scannerdir((sz/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyt _get_cachedir-s,   t CacheStorecBsPeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS(cCsUytƒ|_Wn4tk rF}|jtjkr:‚nd|_nX|jƒdS(N(R#t _directoryRterrnotEPERMRt_check_cache_version(tselfte((sz/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyt__init__Ks cCsë|jdkrdStƒ}tjj|jtƒ}yt|ƒjƒ}Wn1t k r}}|j t j krwd}q~‚nX||krŽdS|j ƒyt|dƒ}Wn,t k rÙ}|j t j krÓdS‚nX|j|ƒdS(Nitw(R%RRRRR t_CACHE_VERSION_FILENAMEtopentreadtIOErrorR&tENOENTt_cleantEACCEStwrite(R)t current_hashtversiont cache_hashR*tfp((sz/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyR(Us(    cCs>|jdkrdStj|ƒjƒ}tjj|j|ƒS(N(R%RRRRRRR (R)tfilenameR((sz/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyt _get_filenamesscCs"tj|ƒjtj|ƒjkS(N(RRR(R)tstore_filenameR9((sz/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyt_cache_is_valid|scCsoytj|ƒWnWtk r?}|jtjkr9dS‚n,tk rj}|jtjkrddS‚nXdS(N(RtunlinkR0R&R3RR1(R)R9R*((sz/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyt_remove_filename€scCsRxKtj|jƒD]7}|tkr+qn|jtjj|j|ƒƒqWdS(N(RtlistdirR%R-R>RR (R)R9((sz/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyR2s cCs|j|ƒ}|dkrdStjj|ƒrG|j||ƒrGdStjddƒ\}}y tj |tj |dƒƒWn9t k rº}|j t j kr´|j|ƒdS‚nXytj||ƒWn8t k r }|j t jkr|j|ƒq ‚nXdS(Ntprefixsg-ir-scanner-cache-R,(R:RRRRR<ttempfiletmkstemptcPickletdumptfdopenR0R&tENOSPCR>tshutiltmoveR3(R)R9tdataR;ttmp_fdt tmp_filenameR*((sz/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/cachestore.pytstore–s& $  cCsÁ|j|ƒ}|dkrdSyt|ƒ}Wn,tk r]}|jtjkrWdS‚nX|j||ƒstdSytj|ƒ}Wn3t t t tj fk r¼|j |ƒd}nX|S(N(R:RR.R0R&R1R<RCtloadtAttributeErrortEOFErrort ValueErrort BadPickleGetR>(R)R9R;tfdR*RI((sz/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyRM²s"   ( t__name__t __module__R+R(R:R<R>R2RLRM(((sz/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyR$Is     (R&RCR RRRGRRAR R-RR#tobjectR$(((sz/home/kou/work/ruby/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/cachestore.pyts