
     h                         d Z ddlZddlZdad Zd Zej                            d          rddZnddZd Z	d	 Z
d
 Zd Zd ZddZddZddZdS )zText encoding utilities.

Utilities to encode text, and to safely emit text from running
applications without crashing from the infamous
:exc:`UnicodeDecodeError` exception.
    Nc                 
    | a dS )z'Set file used to get codec information.Ndefault_encoding_filefiles    P/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/kombu/utils/encoding.pyset_default_encoding_filer	      s     !    c                      t           S )z'Get file used to get codec information.r    r
   r   get_default_encoding_filer      s      r
   javac                     dS )Get default encoding.zutf-8r   r   s    r   default_encodingr      s    wr
   c                 j    | pt                      } t          | dd          pt          j                    S )r   encodingN)r   getattrsysgetfilesystemencodingr   s    r   r   r   #   s3    2022tZ..M#2K2M2MMr
   c                 X    t          | t                    r|                                 S | S )zConvert str to bytes.)
isinstancestrencodess    r   str_to_bytesr   )   s'    !S xxzzHr
   c                 \    t          | t                    r|                     d          S | S )zConvert bytes to str.replace)errors)r   bytesdecoder   s    r   bytes_to_strr#   0   s-    !U *xxyx)))Hr
   c                     | S )zGet str from utf-8 encoding.r   )r   argskwargss      r   	from_utf8r'   7   s    Hr
   c                 N    t          | t                    st          |           S | S )zEnsure s is bytes, not str.)r   r!   r   r   s    r   ensure_bytesr)   <   s%    a AHr
   c                     | S )zEncode using default encoding.r   )objs    r   default_encoder,   C   s    Jr
   r   c                     t          |           } t          | t          t          f          st	          | |          S t          | |          S )z+Safe form of str(), void of unicode errors.)r#   r   r   r!   	safe_repr	_safe_str)r   r    s     r   safe_strr0   H   sC    QAa#u&& $F###Qr
   c           	         t          | t                    r| S 	 t          |           S # t          $ rR}d                    t	          |           |d                    t          j                                        cY d }~S d }~ww xY w)Nz!<Unrepresentable {!r}: {!r} {!r}>
)r   r   	Exceptionformattypejoin	tracebackformat_stack)r   r    r   excs       r   r/   r/   P   s    !S ?1vv ? ? ?299GGS$))I$:$<$<==? ? 	? 	? 	? 	? 	? 	??s   ( 
BAA?9B?Bc                 b    	 t          |           S # t          $ r t          | |          cY S w xY w)z*Safe form of repr, void of Unicode errors.)reprr3   r/   )or    s     r   r.   r.   Z   sC    $Aww $ $ $F#####$s    ..)N)r   )r   N)__doc__r   r7   r   r	   r   platform
startswithr   r   r#   r'   r)   r,   r0   r/   r.   r   r
   r   <module>r@      s)    


    
  ! ! !! ! !
 <6"" 
N    
N N N N      
    
       ? ? ? ?$ $ $ $ $ $r
   