U
iÛfO! ã @ s† d dl mZmZ d dlmZ d dlZddddgZG dd „ d ejj ƒZ
G d
d„ dejj ƒZG dd„ deƒZG dd„ deƒZ
ddd„ZdS )é )ÚPicklerÚ Unpickler)ÚBytesIONÚShelfÚ
BsdDbShelfÚDbfilenameShelfÚopenc @ s4 e Zd Zdd„ Ze Z Z Z Z ZZ dd„ Z
dS )Ú_ClosedDictc G s t dƒ‚d S )Nz!invalid operation on closed shelf)Ú
ValueError)ÚselfÚargs© r
ú+/opt/alt/python38/lib64/python3.8/shelve.pyÚclosedE s z_ClosedDict.closedc C s dS )Nzr
©r r
r
r Ú__repr__I s z_ClosedDict.__repr__N)Ú__name__Ú
__module__Ú__qualname__r Ú__iter__Ú__len__Ú__getitem__Ú__setitem__Ú__delitem__Úkeysr r
r
r
r r B s r c @ sx e Zd Zddd„Zdd„ Zdd „ Zd
d„ Zddd
„Zdd„ Zdd„ Z dd„ Z
dd„ Zdd„ Zdd„ Z
dd„ Zdd„ ZdS ) r NFúutf-8c C s. || _ |d krd}|| _|| _i | _|| _d S )Né )ÚdictÚ _protocolÚ writebackÚcacheÚkeyencoding©r r Úprotocolr r! r
r
r Ú__init__T s zShelf.__init__c c s" | j ¡ D ]}| | j¡V q
d S ©N)r r Údecoder! )r Úkr
r
r r ^ s zShelf.__iter__c C s
t | jƒS r% )Úlenr r r
r
r r b s z
Shelf.__len__c C s | | j¡| jkS r% ©Úencoder! r ©r Úkeyr
r
r Ú__contains__e s zShelf.__contains__c C s | | j¡| jkr| | S |S r% r) )r r, Údefaultr
r
r Úgeth s z Shelf.getc C sZ z| j | }W nF tk
rT t| j| | j¡ ƒ}t|ƒ ¡ }| jrP|| j |<