Files
PowerToys/PythonHome/Lib/bsddb/__init__.pyc

79 lines
12 KiB
Plaintext
Raw Normal View History

2014-07-09 18:15:23 +08:00
<03>
<EFBFBD>W`Sc @s}dZddlZejddkZejdkr<>ejdkr<>ddlZejrzedkrzejded<00>nej d d
ed <00>nybedkr<>er<>d dUn ddl
Z
e
Z dd l m Znddl Z dd lm ZWn*ek
r!ddlZeje=<3D>nXe ZZejZejZddlZddlZddlmZejdkr<>ddlZejZnddlZejZdefd<00><00>YZdefd<00><00>YZddddddddd<00>Z!ddddddddd<00>Z"ddddddddddd<00>
Z#d<00>Z$d<00>Z%yddl&Z'['Wnek
rxde_(nXdS(s<>Support for Berkeley DB 4.3 through 5.3 with a simple interface.
For the full featured object oriented interface use the bsddb.db module
instead. It mirrors the Oracle Berkeley DB C API.
i<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Niiiitbsddb3sQin 3.x, the bsddb module has been removed; please use the pybsddb project insteadtignores .*CObject.*sbsddb.__init__sfrom . import _pybsddb(t DeadlockWrap(treft _iter_mixincBs,eZd<00>Zd<00>Zd<00>Zd<00>ZRS(cCsAt|jj<00>}t|<00>}t||j|<00><00>|j|<|S(N(t _DeadlockWraptdbtcursortidRt_gen_cref_cleanert _cursor_refs(tselftcurtkey((s.\Lib\bsddb\__init__.pyt_make_iter_cursor_s cs<00><00>fd<00>S(Ncs<00>jj<00>d<00>S(N(R
tpoptNone(R(R R (s.\Lib\bsddb\__init__.pyt<lambda>is((R R ((R R s.\Lib\bsddb\__init__.pyR esccs@t|_|jd7_y<>y<>|j<00>}t|jddd<00>d}|Vt|d<00>}x<>y"t|ddd<00>d}|VWq]tjk
r<>|jr<>t d<00><00>n|j<00>}t|j
|ddd<00>t|d<00>}q]Xq]Wn'tj k
r<>ntjk
rnXWn|jd8_<00>nX|jd8_dS(Niitnexts'Database changed size during iteration.( tFalset_kill_iterationt_in_iterRRtfirsttgetattrt_bsddbtDBCursorClosedErrort RuntimeErrortsettDBNotFoundError(R R R R((s.\Lib\bsddb\__init__.pyt__iter__ks4     ccsG|js dSt|_|jd7_y<>y<>|j<00>}t|j<00>}|d}|Vt|d<00>}x<>yt|<00>}|d}|VWqgtj k
r<>|jr<>t
d<00><00>n|j<00>}t|j |ddd<00>t|d<00>}qgXqgWn'tj k
rntj k
rnXWn|jd8_<00>nX|jd8_dS(NiiRs'Database changed size during iteration.( RRRRRRRRRRRRR(R R tkvR R((s.\Lib\bsddb\__init__.pyt iteritems<6D>s<   
 
   (t__name__t
__module__RR RR(((s.\Lib\bsddb\__init__.pyR^s   )t _DBWithCursorcBs<>eZdZd<00>Zd<00>Zd<00>Zdd<00>Zd<00>Zd<00>Zd<00>Z e
j dkrid <00>Z nd <00>Z d <00>Zd<00>Zd<00>Zd<00>Zd<00>Zd<00>Zd<00>Ze
j ddkr<>eZnd<00>Zd<00>Zd<00>Zd<00>ZRS(s<>
A simple wrapper around DB that makes it look like the bsddbobject in
the old module. It uses a cursor as needed to provide DB traversal.
cCsJ||_|jjd<00>d|_d|_i|_d|_t|_dS(Ni( Rtset_get_returns_noneRtdbct saved_dbc_keyR
RRR(R R((s.\Lib\bsddb\__init__.pyt__init__<5F>s     cCs|j<00>dS(N(tclose(R ((s.\Lib\bsddb\__init__.pyt__del__<5F>scCs\|jdkrXt|jj<00>|_|jdk rXt|jj|j<00>d|_qXndS(N(R$RRRRR%R(R ((s.\Lib\bsddb\__init__.pyt _checkCursor<6F>s
icCs<>|jrq|j}d|_|r^y#t|jddd<00>d|_Wq^tjk
rZq^Xnt|j<00>~nx<|jj <00>D]+}|<00>}|dk r<>t|j<00>q<>q<>WdS(Ni(
R$RRtcurrentR%RtDBErrorR'R
tvalues(R tsavetctcref((s.\Lib\bsddb\__init__.pyt _closeCursors<72>s   #   cCs|jdkrtd<00>ndS(Ns$BSDDB object has already been closed(RRterror(R ((s.\Lib\bsddb\__init__.pyt
_checkOpen<65>scCs |jdk S(N(RR(R ((s.\Lib\bsddb\__init__.pytisOpen<65>scs<00>j<00>t<00>fd<00><00>S(Ncs t<00>j<00>S(N(tlenR((R (s.\Lib\bsddb\__init__.pyRs(R2R(R ((R s.\Lib\bsddb\__init__.pyt__len__s
iicCs5|j<00>r(ttt|jj<00><00><00>Stt<00><00>S(N(R3treprtdictRRtitems(R ((s.\Lib\bsddb\__init__.pyt__repr__s cs <00>j<00>t<00><00>fd<00><00>S(Ncs <00>j<00>S(N(R((R R (s.\Lib\bsddb\__init__.pyRs(R2R(R R ((R R s.\Lib\bsddb\__init__.pyt __getitem__ s
csX<00>j<00><01>j<00><01>jr5<00><00>kr5t<00>_n<00><00><00>fd<00>}t|<00>dS(Ncs<00><00>j<00><dS(N(R((R R tvalue(s.\Lib\bsddb\__init__.pytwrapFs(R2R0RtTrueRR(R R R;R<((R R R;s.\Lib\bsddb\__init__.pyt __setitem__s 

 csU<00>j<00><01>j<00><01>jr5<00><00>kr5t<00>_n<00><00>fd<00>}t|<00>dS(Ncs<00>j<00>=dS(N(R((R R (s.\Lib\bsddb\__init__.pyR<s(R2R0RR=RR(R R R<((R R s.\Lib\bsddb\__init__.pyt __delitem__s 

 cCsr|jdd<00>|jdk r2t|jj<00>nd}|jdk r\t|jj<00>}nd|_d|_|S(NR-i(R0R$RRR'R(R tv((s.\Lib\bsddb\__init__.pyR'"s  cCs|j<00>t|jj<00>S(N(R2RRtkeys(R ((s.\Lib\bsddb\__init__.pyRA-s
cCs|j<00>t|jj|<00>S(N(R2RRthas_key(R R ((s.\Lib\bsddb\__init__.pyRB1s
cCs'|j<00>|j<00>t|jj|<00>S(N(R2R)RR$t set_range(R R ((s.\Lib\bsddb\__init__.pyt set_location5s

cCs0|j<00>|j<00>tt|jd<00><00>}|S(NR(R2R)RRR$(R trv((s.\Lib\bsddb\__init__.pyR:s

iicCs*|j<00>|j<00>t|jj<00>}|S(N(R2R)RR$tprev(R RE((s.\Lib\bsddb\__init__.pytpreviousCs

cCs3|j<00>d|_|j<00>t|jj<00>}|S(N(R2RR%R)RR$R(R RE((s.\Lib\bsddb\__init__.pyRIs

 
cCs3|j<00>d|_|j<00>t|jj<00>}|S(N(R2RR%R)RR$tlast(R RE((s.\Lib\bsddb\__init__.pyRHQs

 
cCs|j<00>t|jj<00>S(N(R2RRtsync(R ((s.\Lib\bsddb\__init__.pyRIYs
(ii(R R!t__doc__R&R(R)R0R2R3R5tsyst version_infoR9R:R>R?R'RARBRDRt__next__RGRRHRI(((s.\Lib\bsddb\__init__.pyR"<00>s0                R.i<>c Cs<>t||<00>} t|<00>}
tj|
<00>} | j|<00>|dk rS| j|<00>n|dk ro| j|<00>n|dk r<>| j|<00>n|dk r<>| j |<00>n| j
|tj | |<00>t | <00>S(N( t
_checkflagt
_openDBEnvRtDBt set_flagsRt set_pagesizet
set_lordert set_h_ffactort set_h_nelemtopentDB_HASHR"( tfiletflagtmodetpgsizetffactortnelemt cachesizetlorderthflagstflagstetd((s.\Lib\bsddb\__init__.pythashopenas      c Cs<>t||<00>} t|<00>}
tj|
<00>} |dk rF| j|<00>n|dk rb| j|<00>n| j|<00>|dk r<>| j|<00>n|dk r<>| j |<00>n| j
|tj | |<00>t | <00>S(N( RNRORRPRRRRSRQt set_bt_minkeyt set_bt_maxkeyRVtDB_BTREER"( RXRYRZtbtflagsR^t
maxkeypaget
minkeypageR[R_RaRbRc((s.\Lib\bsddb\__init__.pytbtopenqs      c Cst||<00>} t|<00>} tj| <00>} |dk rF| j|<00>n|dk rb| j|<00>n| j|<00>|dk r<>| j|<00>n|dk r<>| j |<00>n| dk r<>| j
| <00>n|
dk r<>| j |
<00>n| j |tj | |<00>t| <00>S(N(RNRORRPRRRRSRQt set_re_delimt
set_re_lent set_re_sourcet
set_re_padRVtDB_RECNOR"(RXRYRZtrnflagsR^R[R_trlentdelimtsourcetpadRaRbRc((s.\Lib\bsddb\__init__.pytrnopen<65>s$        cCs<>tj<00>}|dk rC|dkr7|jd|<00>qCtd<00>n|jtj<00>|jdtjtj Btj
Btj Btj B<>|S(NiPiscachesize must be >= 20480t.( RtDBEnvRt set_cachesizeR1t set_lk_detecttDB_LOCK_DEFAULTRVt
DB_PRIVATEt DB_CREATEt DB_THREADt DB_INIT_LOCKt DB_INIT_MPOOL(R^Rb((s.\Lib\bsddb\__init__.pyRO<00>s    /cCs<>|dkrtj}n<>|dkr-d}n|dkrEtj}ng|dkr]tj}nO|dkr<>tj}|dk r<>tjj|<00>r<>tj|<00>q<>n td<00>|tj BS(NtrtrwitwR.tns+flags should be one of 'r', 'w', 'c' or 'n'(
Rt DB_RDONLYR}RtostpathtisfiletunlinkR1R~(RYRXRa((s.\Lib\bsddb\__init__.pyRN<00>s           (ii(ii(ii()RJRKRLtabsolute_importtwarningst py3kwarningR twarnpy3ktDeprecationWarningtfilterwarningst_pybsddbRtbsddb3.dbutilsRRt bsddb.dbutilst ImportErrortmodulesRt_dbt __version__R+R1R<>tweakrefRtUserDictt DictMixintMutableMappingt collectionsRR"RRdRkRvRORNtthreadtTR~(((s.\Lib\bsddb\__init__.pyt<module>(sb    
      

      b<16>