o
    2j                     @   sR   d dl Z d dlmZ e je jG dd dZe jde jej	 defddZ
dS )	    N)	err_checkc                   @   s   e Zd Zdd Zdd ZdejfddZdejdejfd	d
ZdejfddZ	dd Z
dd Zdd Zdd Zdd ZdefddZdddZdS )
Dictionaryc                 O   s*   |D ]}|  | q|r|  | d S d S N)update)selfargskwargsarg r
   H/var/www/html/whisper/venv/lib/python3.10/site-packages/av/dictionary.py	__cinit__   s
   zDictionary.__cinit__c                 C   s&   | j tjkrtt| j  d S d S r   )ptrcythonNULLlibav_dict_freeaddressr   r
   r
   r   __dealloc__   s   zDictionary.__dealloc__keyc                 C   s,   t | j|tjd}|tjkrt||jS Nr   )r   av_dict_getr   r   r   KeyErrorvalue)r   r   elementr
   r
   r   __getitem__   s   
zDictionary.__getitem__r   c                 C   s    t tt| j||d d S r   )r   r   av_dict_setr   r   r   r   r   r   r
   r
   r   __setitem__   s    zDictionary.__setitem__c                 C   s"   t tt| j|tjd d S r   )r   r   r   r   r   r   r   )r   r   r
   r
   r   __delitem__   s   "zDictionary.__delitem__c                 C   s   t t| jS r   )r   r   av_dict_countr   r   r
   r
   r   __len__       zDictionary.__len__c                 c   s6    t j}	 t| jd|tj}|t jkrd S |jV  q)NT )r   r   r   r   r   AV_DICT_IGNORE_SUFFIXr   )r   r   r
   r
   r   __iter__#   s   
zDictionary.__iter__c                 C   s   dt | dS )Nzav.Dictionary())dictr   r
   r
   r   __repr__+   r"   zDictionary.__repr__c                 C   s   t | S r   )listr   r
   r
   r   keys.   s   zDictionary.keysc                 C   s"   t  }tt|j| jd |S r   )r   r   av_dict_copyr   r   r   )r   otherr
   r
   r   copy1   s   zDictionary.copyc                 C   s   | | }| |= |S r   r
   r   r
   r
   r   pop6   s   zDictionary.popr
   c                K   s   t |trtt| jtt|jd nt|dr)|	 D ]}|| | |< qn|D ]\}}|| |< q+|
 D ]\}}|| |< q8d S )Nr   r*   )
isinstancer   r   r+   r   r   r   casthasattrr*   items)r   r,   kwdsr   r   r
   r
   r   r   ;   s   



zDictionary.updateN)r
   )__name__
__module____qualname__r   r   r   strr   r   r   r!   r%   r(   r*   r-   r.   r   r
   r
   r
   r   r      s    r   input_returnc                 C   s   t  }| |_|S r   )r   r   )r8   outputr
   r
   r   wrap_dictionaryJ   s   r;   )r   cython.cimports.av.errorr   finalcclassr   cfuncpointerr   AVDictionaryr;   r
   r
   r
   r   <module>   s    C 