a
    óñ"hÏ  ã                   @   s¼   g d ¢Z ddlZddlZddlZddlZG dd„ deƒZg d¢Zdai Z	ee
fZzddlmZ W n eyv   dZY n0 dd	d
„Zdd„ Zedkr¸ejdd… D ]Zeeeƒp°deƒ q dS ))ÚopenÚwhichdbÚerroré    Nc                   @   s   e Zd ZdS )r   N)Ú__name__Ú
__module__Ú__qualname__© r   r   ú4/opt/python-3.9.21/usr/lib/python3.9/dbm/__init__.pyr   &   s   r   )údbm.gnuúdbm.ndbmúdbm.dumb)ÚndbmÚré¶  c              	   C   sä   t d u r\tD ]>}zt|dgd}W n ty8   Y qY n0 t sB|a |t|< qt s\tdt ƒ‚d|vrlt| ƒnd }|d u rœd|v sˆd|v rŽt }qÖtd dƒ‚n:|dkr²td d	ƒ‚n$|tvrÎtd d
 |¡ƒ‚nt| }| | ||¡S )Nr   )Úfromlistzno dbm clone found; tried %sÚnÚcr   z=db file doesn't exist; use 'c' or 'n' flag to create a new dbÚ zdb type could not be determinedz/db type is {0}, but the module is not available)	Ú_defaultmodÚ_namesÚ
__import__ÚImportErrorÚ_modulesr   r   Úformatr   )ÚfileÚflagÚmodeÚnameÚmodÚresultr   r   r	   r   5   s0    


ÿr   c                 C   s  z6t  | d d¡}| ¡  t  | d d¡}| ¡  W dS  tyš   z>t  | d d¡}| ¡  td ur€t | ¡}| ¡  W Y dS W n ty”   Y n0 Y n0 zvt | d ¡ t | d ¡j}|dkrÊW dS t  | d d¡}z*| d	¡d
v rúW | ¡  W dS W | ¡  n
| ¡  0 W n ty&   Y n0 zt  | d¡}W n tyN   Y d S 0 | | d¡}W d   ƒ n1 sv0    Y  |dd… }t	|ƒdkrždS zt
 d|¡\}W n t
jyÈ   Y dS 0 |dv rØdS zt
 d|dd … ¡\}W n t
jy
   Y dS 0 dS )Nz.pagÚrbz.dirr   z.dbz.datr   r   é   )ó   'ó   "é   é   r   z=l)iÎšWiÍšWiÏšWr
   éüÿÿÿ)Úior   ÚcloseÚOSErrorr   ÚosÚstatÚst_sizeÚreadÚlenÚstructÚunpackr   )ÚfilenameÚfÚdÚsizeZs16ÚsÚmagicr   r   r	   r   b   sd    
þ*
r   Ú__main__r!   ZUNKNOWN)r   r   )Ú__all__r'   r*   r/   ÚsysÚ	Exceptionr   r   r   r   r)   Údbmr   r   r   r   r   Úargvr1   Úprintr   r   r   r	   Ú<module>   s$   

-Y