Viewing File: /opt/alt/python35/lib64/python3.5/dbm/__pycache__/dumb.cpython-35.opt-2.pyc



]+@swddlZddlZddlZddlZddgZdZe	Z
GdddejZddd	dZ
dS)
Nerroropenic@s!eZdZeZeZdddZddZddZdd	ZeZ	d
dZ
dd
ZddZddZ
ddZddZddZddZddZddZddZeZd d!Zd"d#ZeZd$d%Zd&d'Zd(d)Zd*S)+	_DatabaseccCsc||_|dk|_|d|_|d|_|d|_d|_|j||jdS)Nrz.dirz.datz.bak)_mode	_readonly_dirfile_datfile_bakfile_index_create_update)selfZfilebasenamemodeflagr)/opt/alt/python35/lib64/python3.5/dumb.py__init__0s	


	
z_Database.__init__cCs|dkrUxF|j|j|jfD],}ytj|Wq%tk
rPYq%Xq%Wytj|jddd}WnGtk
rtj|jddd}|j|jWdQRXYnX|j	dS)NnrencodingzLatin-1w)
r
rr	_osremoveOSError_ior_chmodclose)rrfilenamefrrrr
Is
	
z_Database._createcCsi|_ytj|jddd}Wntk
rI|j|_YnfXd|_|SxK|D]C}|j}tj	|\}}|j
d}||j|<qaWWdQRXdS)NrrzLatin-1F)rrrr	rr	_modifiedrstrip_astZliteral_evalencode)rrlinekeypos_and_siz_pairrrrrZs	
	
z_Database._updatecCs|jdks|jrdSy|jj|jWntk
rHYnXy|jj|j|jWntk
rzYnX|jj	|jddd]}|j
|jxC|jjD]2\}}d|jd|f}|j
|qWWdQRXdS)NrrzLatin-1z%r, %r
)rr runlinkrrrenamer	rrritemsdecodewrite)rrr%r&entryrrr_commitls

!z_Database._commitcCs|jdkrtddS)Nz"DBM object has already been closed)rr)rrrr_verify_opensz_Database._verify_openc	Cszt|tr|jd}|j|j|\}}tj|jd#}|j||j	|}WdQRX|S)Nzutf-8rb)

isinstancestrr#r.rrrr
seekread)rr%possizrZdatrrr__getitem__s

z_Database.__getitem__cCstj|jdg}|jddt|j}|tdtt}|jd|||}|j|WdQRX|t|fS)Nzrb+rs)	rrr
r2inttell
_BLOCKSIZEr+len)rvalrr4Znposrrr_addvalsz_Database._addvalc
CsItj|jd!}|j||j|WdQRX|t|fS)Nzrb+)rrr
r2r+r<)rr4r=rrrr_setvals
z_Database._setvalcCsf||j|<tj|jddd7}|j|j|jd|jd|fWdQRXdS)NarzLatin-1z%r, %r
)rrrr	rr+r*)rr%r&rrrr_addkeys
z_Database._addkeycCsAt|tr!|jd}n!t|ttfsBtdt|trc|jd}n!t|ttfstd|jd|_||jkr|j	||j
|n{|j|\}}|tdt}t|tdt}||kr'|j
|||j|<n|j
||j|<dS)Nzutf-8zkeys must be bytes or stringszvalues must be bytes or stringsTr8)r0r1r#bytes	bytearray	TypeErrorr.r rrAr>r;r<r?)rr%r=r4r5Z	oldblocksZ	newblocksrrr__setitem__s$
	z_Database.__setitem__cCsIt|tr|jd}|jd|_|j|=|jdS)Nzutf-8T)r0r1r#r.r rr-)rr%rrr__delitem__s
	
z_Database.__delitem__cCs9yt|jSWn!tk
r4tddYnXdS)Nz"DBM object has already been closed)listrrDr)rrrrkeyss
z_Database.keyscs*jfddjjDS)Ncs g|]}||fqSrr).0r%)rrr
<listcomp>s	z#_Database.items.<locals>.<listcomp>)r.rrH)rr)rrr)s
z_Database.itemscCslt|tr|jd}y||jkSWn6tk
rg|jdkr`tddnYnXdS)Nzutf-8z"DBM object has already been closed)r0r1r#rrDr)rr%rrr__contains__s
z_Database.__contains__cCs9yt|jSWn!tk
r4tddYnXdS)Nz"DBM object has already been closed)iterrrDr)rrrriterkeyss
z_Database.iterkeyscCs9yt|jSWn!tk
r4tddYnXdS)Nz"DBM object has already been closed)r<rrDr)rrrr__len__s
z_Database.__len__cCs4z|jWdd|_|_|_|_XdS)N)r-rr
r	r)rrrrrsz_Database.closecCs,t|jdr(|jj||jdS)Nchmod)hasattrrrOr)rfilerrrrsz_Database._chmodcCs|S)Nr)rrrr	__enter__sz_Database.__enter__cGs|jdS)N)r)rargsrrr__exit__sz_Database.__exit__N)__name__
__module____qualname__rrrr
rr-syncr.r6r>r?rArErFrHr)rKrM__iter__rNr__del__rrRrTrrrrr#s2
	#
rric
CsSy tjd}tj|Wntk
r4YnX||@}t||d|S)Nrr)rumaskAttributeErrorr)rQrrZumrrrrs
)Zastr"iorosrcollections__all__r;rrMutableMappingrrrrrr<module>s
Back to Directory File Manager