
    QTb                     r    d dl Z d dlZ G d de      Zd ZdD ]
  Z ee        d ZdD ]
  Z ee        y)    Nc                       e Zd ZdZd Zed        Zd Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd Zd Zej(                  dkD  reZyeZeZy)TdbTextWrapperzText interface for a TDB filec                     || _         y N_tdb)selftdbs     +/usr/lib/python3/dist-packages/_tdb_text.py__init__zTdbTextWrapper.__init__   s	    	    c                     | j                   S r   r   r	   s    r   rawzTdbTextWrapper.raw   s    yyr   c                     |j                  d      }| j                  j                  |      }||j                  d      S y Nzutf-8)encoder   getdecoder	   keyresults      r   r   zTdbTextWrapper.get   s<    jj!s#==)) r   c                     |j                  d      }|j                  d      }| j                  j                  ||       y r   )r   r   appendr	   r   values      r   r   zTdbTextWrapper.append   s2    jj!W%		e$r   c                 ^    | j                   j                         }|r|j                  d      S y r   )r   firstkeyr   )r	   r   s     r   r   zTdbTextWrapper.firstkey    s+    ##%==)) r   c                     |j                  d      }| j                  j                  |      }||j                  d      S y r   )r   r   nextkeyr   r   s      r   r    zTdbTextWrapper.nextkey%   s>    jj!""3'==)) r   c                 \    |j                  d      }| j                  j                  |       y r   )r   r   deleter	   r   s     r   r"   zTdbTextWrapper.delete+   s"    jj!		r   c                     |j                  d      }|j                  d      }| j                  j                  ||       y r   )r   r   storer   s      r   r%   zTdbTextWrapper.store/   s0    jj!W%		U#r   c              #   f   K   t        | j                        D ]  }|j                  d        y wr   )iterr   r   r#   s     r   __iter__zTdbTextWrapper.__iter__4   s,     		? 	&C**W%%	&s   /1c                 d    |j                  d      }| j                  |   }|j                  d      S r   )r   r   r   r   s      r   __getitem__zTdbTextWrapper.__getitem__8   s,    jj!3}}W%%r   c                 @    |j                  d      }|| j                  v S r   r   r   r#   s     r   __contains__zTdbTextWrapper.__contains__=   s    jj!diir   c                      d| j                   z  S )Nz<TdbTextWrapper for %r>r   r   s    r   __repr__zTdbTextWrapper.__repr__A   s    (49944r   c                 f    |j                  d      }|j                  d      }|| j                  |<   y r   r,   r   s      r   __setitem__zTdbTextWrapper.__setitem__D   s+    jj!W%		#r   c                 @    |j                  d      }| j                  |= y r   r,   r#   s     r   __delitem__zTdbTextWrapper.__delitem__I   s    jj!IIcNr   )   r   N)__name__
__module____qualname____doc__r   propertyr   r   r   r   r    r"   r%   r(   r*   r-   r/   r1   r3   sysversion_infokeysiterkeyshas_key r   r   r   r      sy    '  *%
*
*$
&&
 5
 & r   r   c                     t        t        j                  |       fd}j                  |_        j                  |_        t        t        | |       y )Nc                 0     | j                   g|i |S r   r   )r	   argskwargsorigs      r   wrapperz_add_wrapper.<locals>.wrapperY   s    DII////r   )getattrr
   Tdbr5   r8   setattrr   )namerE   rD   s     @r   _add_wrapperrJ   V   s;    377D!D0}}GllGOND'*r   )transaction_canceltransaction_committransaction_prepare_committransaction_startreopenlock_all
unlock_allread_lock_allread_unlock_allclose	add_flagsremove_flagsclearrepackenable_seqnumincrement_seqnum_nonblockc           	           t        t        j                         }|j                  } fd} fd}t	        t
         t        |||             y )Nc                 0    t        | j                        S r   )rF   r   )r	   rI   s    r   getterz_add_getter.<locals>.getterx   s    tyy$''r   c                 2    t        | j                  |      S r   )rH   r   )r	   r   rI   s     r   setterz_add_getter.<locals>.setter{   s    tyy$..r   )doc)rF   r
   rG   r8   rH   r   r9   )rI   rD   r`   r]   r_   s   `    r   _add_getterra   t   s=    377D!D
,,C(/ ND(66s"CDr   )	hash_sizemap_sizefreelist_sizeflagsmax_deadfilenameseqnumtext)r:   r
   objectr   rJ   rI   ra   r?   r   r   <module>rk      s]     
FV FV+ D" #(
E 	D 	r   