AlkantarClanX12
Current Path : /lib64/python3.6/dbm/__pycache__/ |
Current File : //lib64/python3.6/dbm/__pycache__/dumb.cpython-36.pyc |
3 \�. � @ sT d Z ddlZddlZddlZddlZddgZdZ e ZG dd� dej�Z dd d�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 @ 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 sJ || _ |dk| _|d | _|d | _|d | _d | _| j|� | j� d S )N�rz.dirz.datz.bak)�_mode� _readonly�_dirfile�_datfile�_bakfile�_index�_create�_update)�selfZfilebasename�mode�flag� r � /usr/lib64/python3.6/dbm/dumb.py�__init__0 s z_Database.__init__c C s� |dkrFx<| j | j| jfD ](}ytj|� W q tk r@ Y qX qW ytj| j ddd�}W n^ tk r� |dkr�dd l}|j dt dd � tj| j d dd��}| j| j � W d Q R X Y n X |j� d S )N�nr zLatin-1)�encodingr r zIThe database file is missing, the semantics of the 'c' flag will be used.� )� stacklevel�w)r r ) r r r �_os�remove�OSError�_ior �warnings�warn�DeprecationWarning�_chmod�close)r r �filename�fr r r r r I s z_Database._createc C s� i | _ ytj| jddd�}W n tk r: | j | _Y nPX d| _|�> x6|D ].}|j� }tj |�\}}|j d�}|| j |<