Edit File: dumb.cpython-38.opt-2.pyc
U ����@��d-����������������������@���sR���d�dl�Zd�dlZd�dlZd�dlZddgZdZ e ZG�dd��dejj �Zd d d�ZdS�)�����N�error�openi���c�������������������@���s����e�Zd�ZeZeZd+dd�Zdd��Zdd��Zdd ��ZeZ d d��Z dd ��Zdd��Zdd��Z dd��Zdd��Zdd��Zdd��Zdd��Zdd��Zdd��ZeZd d!��Zd"d#��ZeZd$d%��Zd&d'��Zd(d)��Zd*S�),� _Database�cc�����������������C���sL���||�_�|dk|�_|d�|�_|d�|�_|d�|�_d�|�_|��|��|��|��d�S�)N�rz.dirz.datz.bak)�_mode� _readonly�_dirfile�_datfile�_bakfile�_index�_create�_update)�selfZfilebasename�mode�flag��r����-/opt/alt/python38/lib64/python3.8/dbm/dumb.py�__init__0���s���� z_Database.__init__c�����������������C���s����|dkrB|�j�|�j|�jfD�](}zt�|��W�q�tk r>���Y�qX�qztj|�j�ddd�}W�nH�tk r����|dkrr��tj|�j�ddd��}|��|�j���W�5�Q�R�X�Y�n X�|� ���d�S�)N�nr����Latin-1��encoding�r���r����w) r ���r���r ����_os�remove�OSError�_ior����_chmod�close)r���r����filename�fr���r���r���r ���I���s����z_Database._createc�������������� ���C���s����d|�_�i�|�_ztj|�jddd�}W�n$�tk rF���|dkr<��d|�_�Y�nFX�|�:�|D�].}|���}t�|�\}}|� d�}||�j|<�qRW�5�Q�R�X�d�S�)NFr���r���r���r���T) � _modifiedr���r���r���r ���r����rstrip�_astZliteral_eval�encode)r���r���r"����line�key�pos_and_siz_pairr���r���r���r���\���s���� z_Database._updatec�������������� ���C���s����|�j�d�ks|�jsd�S�z|�j�|�j��W�n�tk r:���Y�nX�z|�j�|�j|�j��W�n�tk rf���Y�nX�|�jj |�jddd��B}|�� |�j��|�j����D�]$\}}d|�d�|f�}|� |��q�W�5�Q�R�X�d�S�)Nr���r���r����%r, %r )r���r#���r����unlinkr���r����renamer ���r���r���r����items�decode�write)r���r"���r(���r)����entryr���r���r����_commitp���s����z_Database._commitc�����������������C���s���|�j�d�krtd��d�S��N�"DBM object has already been closed)r���r����r���r���r���r����_verify_open����s���� z_Database._verify_openc�������������� ���C���s\���t�|t�r|�d�}|�����|�j|�\}}t�|�jd��}|�|��|� |�}W�5�Q�R�X�|S�)N�utf-8�rb) � isinstance�strr&���r5���r���r���r���r ����seek�read)r���r(����pos�sizr"���Zdatr���r���r����__getitem__����s���� z_Database.__getitem__c�������������� ���C���sr���t��|�jd��R}|�dd��t|����}|t�d�t�t�}|�d||����|}|�|��W�5�Q�R�X�|t|�fS�)N�rb+r����������������) r���r���r ���r:����int�tell� _BLOCKSIZEr/����len)r����valr"���r<���Znposr���r���r����_addval����s����z_Database._addvalc�������������� ���C���s:���t��|�jd��}|�|��|�|��W�5�Q�R�X�|t|�fS�)Nr?���)r���r���r ���r:���r/���rF���)r���r<���rG���r"���r���r���r����_setval����s���� z_Database._setvalc�������������� ���C���sP���||�j�|<�tj|�jddd��*}|��|�j��|�d|�d�|f���W�5�Q�R�X�d�S�)N�ar���r���r*���)r���r���r���r ���r���r/���r.���)r���r(���r)���r"���r���r���r����_addkey����s���� z_Database._addkeyc�����������������C���s����|�j�rtd��t|t�r$|�d�}nt|ttf�s:td��t|t�rP|�d�}nt|ttf�sftd��|�����d|�_ ||�j kr�|��||��|���n^|�j |�\}}|t �d�t �}t|�t �d�t �}||kr�|��||�|�j |<�n|��|�|�j |<�d�S�)N�'The database is opened for reading onlyr6���zkeys must be bytes or stringszvalues must be bytes or stringsTrA���)r���r���r8���r9���r&����bytes� bytearray� TypeErrorr5���r#���r���rK���rH���rE���rF���rI���)r���r(���rG���r<���r=���Z oldblocksZ newblocksr���r���r����__setitem__����s(���� z_Database.__setitem__c�����������������C���sD���|�j�rtd��t|t�r"|�d�}|�����d|�_|�j|=�|�����d�S�)NrL���r6���T) r���r���r8���r9���r&���r5���r#���r���r1����r���r(���r���r���r����__delitem__����s���� z_Database.__delitem__c�����������������C���s0���zt�|�j�W�S��tk r*���td�d��Y�nX�d�S�r2���)�listr���rO���r���r4���r���r���r����keys����s����z_Database.keysc��������������������s ������������fdd���j���D��S�)Nc��������������������s���g�|�]}|��|�f�qS�r���r���)�.0r(���r4���r���r���� <listcomp>����s�����z#_Database.items.<locals>.<listcomp>)r5���r���rT���r4���r���r4���r���r-�������s����z_Database.itemsc�����������������C���sR���t�|t�r|�d�}z||�jkW�S��tk rL���|�jd�krFtd�d��n��Y�nX�d�S�)Nr6���r3���)r8���r9���r&���r���rO���r���rQ���r���r���r����__contains__����s���� z_Database.__contains__c�����������������C���s0���zt�|�j�W�S��tk r*���td�d��Y�nX�d�S�r2���)�iterr���rO���r���r4���r���r���r����iterkeys��s����z_Database.iterkeysc�����������������C���s0���zt�|�j�W�S��tk r*���td�d��Y�nX�d�S�r2���)rF���r���rO���r���r4���r���r���r����__len__ ��s����z_Database.__len__c�������������� ���C���s,���z|�����W�5�d��|�_��|�_�|�_|�_X�d�S��N)r���r ���r ���r���r1���r4���r���r���r���r �����s����z_Database.closec�����������������C���s���|�j��||�j��d�S�r[���)r����chmodr���)r����filer���r���r���r�����s����z_Database._chmodc�����������������C���s���|�S�r[���r���r4���r���r���r���� __enter__��s����z_Database.__enter__c�����������������G���s���|������d�S�r[���)r ���)r����argsr���r���r����__exit__��s����z_Database.__exit__N)r���)�__name__� __module__�__qualname__r���r���r���r ���r���r1����syncr5���r>���rH���rI���rK���rP���rR���rT���r-���rW���rY����__iter__rZ���r ����__del__r���r^���r`���r���r���r���r���r���#���s2��� %r���r������c�����������������C���sV���zt��d�}t��|��W�n�tk r,���Y�nX�||�@�}|dkrHtd��t|�||d�S�)Nr���)r���r���r���r���z)Flag must be one of 'r', 'w', 'c', or 'n')r���)r����umask�AttributeError� ValueErrorr���)r]���r���r���Zumr���r���r���r���"��s���� )r���rg���)Zastr%����ior����osr���Zcollections.abc�collections�__all__rE���r���r����abc�MutableMappingr���r���r���r���r���r����<module>���s�����