AlkantarClanX12
Current Path : /proc/self/root/opt/alt/python311/lib64/python3.11/dbm/__pycache__/ |
Current File : //proc/self/root/opt/alt/python311/lib64/python3.11/dbm/__pycache__/dumb.cpython-311.opt-1.pyc |
� c��fJ- � �r � d Z ddlZddlZddlZddlZddgZ dZ eZ G d� dej j � � Zdd �ZdS )a� A dumb and slow but simple dbm clone. For database spam, spam.dir contains the index (a text file), spam.bak *may* contain a backup of the index (also a text file), while spam.dat contains the data (a binary file). XXX TO DO: - seems to contain a bug when updating... - reclaim free space (currently, space once occupied by deleted or expanded items is never reused) - support concurrent access (currently, if two processes take turns making updates, they can mess up the index) - support efficient access to large databases (currently, the whole index is read when the database is opened, and some updates rewrite the whole index) - support opening for read-only (flag = 'm') � N�error�openi c � � e Zd ZeZeZdd�Zd� Zd� Zd� ZeZ d� Z d� Zd� Zd � Z d � Zd� Zd� Zd � Zd� Zd� Zd� ZeZd� Zd� ZeZd� Zd� Zd� ZdS )� _Database�cc � � | j � |� � }|| _ |dk | _ |dz | _ |dz | _ |dz | _ d | _ | � |� � | � |� � d S )N�rs .dirs .dats .bak) �_os�fsencode�_mode� _readonly�_dirfile�_datfile�_bakfile�_index�_create�_update)�self�filebasename�mode�flags �//opt/alt/python311/lib64/python3.11/dbm/dumb.py�__init__z_Database.__init__0 s� � ��x�(�(��6�6���� ��#�+��� %�w�.�� � %�w�.�� �$�w�.�� � ��� ���T�������T������ c � � |dk r<| j | j | j fD ]'} t j |� � �# t $ r Y �$w xY w t j | j dd�� � }|� � � d S # t $ rY |dvr� t j | j dd�� � 5 }| � | j � � d d d � � Y d S # 1 swxY w Y Y d S w xY w)N�nr �Latin-1��encoding�r r �w) r r r r �remove�OSError�_ior �close�_chmod)r r �filename�fs r r z_Database._createJ sR � ��3�;�;�!�]�D�M�4�=�I� � ����J�x�(�(�(�(��� � � ��D����� ������i�@�@�@�A� �G�G�I�I�I�I�I�� � +� +� +��:�%�%����$�-��y�A�A�A� +�Q����D�M�*�*�*� +� +� +� +� +� +� +� +� +� +� +� +� +���� +� +� +� +� +� +� +� +���sD �3� A �A �A6 �6+C�!C �<C� C �C�C �C�Cc �l � d| _ i | _ t j | j dd�� � }|5 |D ]L}|� � � }t j |� � \ }}|� d� � }|| j |<