a
XC?hO! � @ s� d dl mZmZ d dlmZ d dlZg d�ZG dd� dejj �Z
G dd� dejj �ZG d d
� d
e�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/python39/lib64/python3.9/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 u rd}|| _|| _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�| jv S r% ��encoder! r �r �keyr
r
r �__contains__e s zShelf.__contains__c C s |� | j�| jv r| | S |S r% r) )r r, �defaultr
r
r �geth s z Shelf.getc C sX z| j | }W nD tyR t| j|�| j� �}t|��� }| jrN|| j |<