
    G@d<                         d Z ddlZddlZefZefZd Zd Zd Z	d Z
ddZdd	Zd
 Zd Zd Zd Zd Z ej        d          Z ej        d          Z ej        d          Zedk    rdS dS )z
spyder.py3compat
----------------

Transitional module providing compatibility functions intended to help
migrating from Python 2 to Python 3.
    Nc                 <    t          |           t          t          fv S )zReturn True if `obj` is type text string, False if it is anything else,
    like an instance of a class that extends the basestring class.)typestrbytesobjs    0lib/python3.11/site-packages/spyder/py3compat.pyis_type_text_stringr
      s     99e$$    c                 ,    t          | t                    S )z}Return True if `obj` is a text string, False if it is anything else,
    like binary data (Python 3) or QString (PyQt API #1))
isinstancer   r   s    r	   is_text_stringr   #   s     c3r   c                 ,    t          | t                    S )zEReturn True if `obj` is a binary string, False if it is anything else)r   r   r   s    r	   is_binary_stringr   (   s    c5!!!r   c                 >    t          |           pt          |           S )z}Return True if `obj` is a text or binary Python string object,
    False if it is anything else, like a QString (PyQt API #1))r   r   r   s    r	   	is_stringr   ,   s      #7"23"7"77r   c                 r    |t          |           S t          | t                     r| S t          | |          S )z&Convert `obj` to (unicode) text string)r   r   r   encodings     r	   to_text_stringr   1   s:    3xx	C		 "
3!!!r   utf-8c                 "    t          | |          S )z&Convert `obj` to binary string (bytes))r   r   s     r	   to_binary_stringr   ;   s    hr   c                     t          t          |                                                                                                                     S )zBConvert QByteArray object to str in a way compatible with Python 3)r   r   toHexdatadecode)qbas    r	   qbytearray_to_strr   B   s8    uSYY[[%%''((//11222r   c                 6    t           | j        di |          S N )iterkeysdkws     r	   iterkeysr(   I   s    r   c                 6    t           | j        di |          S r!   )r#   valuesr%   s     r	   
itervaluesr+   L   s    2r   c                 6    t           | j        di |          S r!   )r#   itemsr%   s     r	   	iteritemsr.   O       "r   c                 6    t           | j        di |          S r!   )r#   listsr%   s     r	   	iterlistsr2   R   r/   r   r$   r*   r-   __main__)N)r   )__doc__operatorpickler   
TEXT_TYPESint	INT_TYPESr
   r   r   r   r   r   r   r(   r+   r.   r2   methodcallerviewkeys
viewvalues	viewitems__name__r"   r   r	   <module>r?      s4      V
F	% % %
     
" " "8 8 8
" " " "       3 3 3            !8 (("X"8,,
!H!'**	 zD r   