MINI MINI MANI MO

Path : /usr/lib64/python3.6/dbm/__pycache__/
File Upload :
Current File : //usr/lib64/python3.6/dbm/__pycache__/dumb.cpython-36.opt-2.pyc

3


 \.@sPddlZddlZddlZddlZddgZdZe	Z
GdddejZd
d	dZ
dS)Nerroropenic@seZdZeZeZd+ddZddZddZdd	ZeZ	d
dZ
dd
ZddZddZ
ddZddZddZddZddZddZddZeZd d!Zd"d#ZeZd$d%Zd&d'Zd(d)Zd*S),	_DatabaseccCsJ||_|dk|_|d|_|d|_|d|_d|_|j||jdS)Nrz.dirz.datz.bak)_mode	_readonly_dirfile_datfile_bakfile_index_create_update)selfZfilebasenamemodeflagr /usr/lib64/python3.6/dbm/dumb.py__init__0s




z_Database.__init__cCs|dkrFx<|j|j|jfD](}ytj|Wqtk
r@YqXqWytj|jddd}Wn^tk
r|dkrddl}|j	dt
dd	tj|jd
dd}|j|jWdQRXYn
X|jdS)NnrzLatin-1)encodingrrzIThe database file is missing, the semantics of the 'c' flag will be used.)
stacklevelw)rr)
r
rr	_osremoveOSError_iorwarningswarnDeprecationWarning_chmodclose)rrfilenamefrrrrr
Is 

z_Database._createcCsi|_ytj|jddd}Wntk
r:|j|_YnPXd|_|>x6|D].}|j}tj	|\}}|j
d}||j|<qNWWdQRXdS)NrzLatin-1)rF)rrrr	rr	_modifiedrstrip_astZliteral_evalencode)rr$linekeypos_and_siz_pairrrrr_s

z_Database._updatecCs|jdks|jrdSy|jj|jWntk
r<YnXy|jj|j|jWntk
rhYnX|jj	|jdddF}|j
|jx2|jjD]$\}}d|jd|f}|j
|qWWdQRXdS)NrzLatin-1)rz%r, %r
)rr%runlinkrrrenamer	rrr!itemsdecodewrite)rr$r*r+entryrrr_commitqsz_Database._commitcCs|jdkrtddS)Nz"DBM object has already been closed)rr)rrrr_verify_opens
z_Database._verify_openc	Cs\t|tr|jd}|j|j|\}}tj|jd}|j||j	|}WdQRX|S)Nzutf-8rb)

isinstancestrr(r3rrrr
seekread)rr*possizr$Zdatrrr__getitem__s


z_Database.__getitem__cCsrtj|jdR}|jddt|j}|tdtt}|jd|||}|j|WdQRX|t|fS)Nzrb+r)	rrr
r7inttell
_BLOCKSIZEr0len)rvalr$r9Znposrrr_addvalsz_Database._addvalc
Cs:tj|jd}|j||j|WdQRX|t|fS)Nzrb+)rrr
r7r0rB)rr9rCr$rrr_setvals
z_Database._setvalcCsP||j|<tj|jddd*}|j|j|jd|jd|fWdQRXdS)NazLatin-1)rz%r, %r
)rrrr	r!r0r/)rr*r+r$rrr_addkeys
z_Database._addkeycCs|jrddl}|jdtddt|tr4|jd}nt|ttfsJt	dt|tr`|jd}nt|ttfsvt	d|j
d|_||jkr|j
||j|n^|j|\}}|td	t}t|td	t}||kr|j|||j|<n|j||j|<dS)
Nrz'The database is opened for reading onlyr<)rzutf-8zkeys must be bytes or stringszvalues must be bytes or stringsTr=)rrrr r5r6r(bytes	bytearray	TypeErrorr3r%rrGrDrArBrE)rr*rCrr9r:Z	oldblocksZ	newblocksrrr__setitem__s,



z_Database.__setitem__cCsT|jrddl}|jdtddt|tr2|jd}|jd|_|j	|=|j
dS)Nrz'The database is opened for reading onlyr<)rzutf-8T)rrrr r5r6r(r3r%rr2)rr*rrrr__delitem__s


z_Database.__delitem__cCs.y
t|jStk
r(tddYnXdS)Nz"DBM object has already been closed)listrrJr)rrrrkeyss
z_Database.keyscs jfddjjDS)Ncsg|]}||fqSrr).0r*)rrr
<listcomp>sz#_Database.items.<locals>.<listcomp>)r3rrN)rr)rrr.sz_Database.itemscCsPt|tr|jd}y
||jkStk
rJ|jdkrDtddnYnXdS)Nzutf-8z"DBM object has already been closed)r5r6r(rrJr)rr*rrr__contains__s



z_Database.__contains__cCs.y
t|jStk
r(tddYnXdS)Nz"DBM object has already been closed)iterrrJr)rrrriterkeyss
z_Database.iterkeyscCs.y
t|jStk
r(tddYnXdS)Nz"DBM object has already been closed)rBrrJr)rrrr__len__s
z_Database.__len__cCs,z|jWdd|_|_|_|_XdS)N)r2rr
r	r)rrrrr"sz_Database.closecCs t|jdr|jj||jdS)Nchmod)hasattrrrUr)rfilerrrr!sz_Database._chmodcCs|S)Nr)rrrr	__enter__!sz_Database.__enter__cGs|jdS)N)r")rargsrrr__exit__$sz_Database.__exit__N)r)__name__
__module____qualname__rrrr
rr2syncr3r;rDrErGrKrLrNr.rQrS__iter__rTr"__del__r!rXrZrrrrr#s2

	'rrc
Csfytjd}tj|Wntk
r,YnX||@}|d
krXddl}|jdtddt|||d	S)Nrrrrrz)Flag must be one of 'r', 'w', 'c', or 'n'r<)r)r)rrrr)rumaskAttributeErrorrrr r)rWrrZumrrrrr(s


)rra)Zastr'iorosrcollections__all__rArrMutableMappingrrrrrr<module>s

OHA YOOOO