<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    ¿öYç  ã               @   sf   d Z ddlmZmZ ddlZddlmZmZmZm	Z	m
Z
 dd„ Zdd
d„Zdd„ Zdd„ Zdd„ ZdS )z­
raven.utils.encoding
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

:copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details.
:license: BSD, see LICENSE for more details.
é    )Úabsolute_importÚunicode_literalsN)Úinteger_typesÚ	text_typeÚbinary_typeÚstring_typesÚPY2c          	   C   s4   ddl }ddl}t| ttdƒt||j|j|jf ƒS )z£Determine if the object instance is of a protected type.

    Objects of protected types are preserved as-is when passed to
    force_text(strings_only=True).
    r   N)ÚDecimalÚdatetimeÚ
isinstancer   ÚtypeÚfloatÚdateÚtime)Úobjr	   r
   © r   úE/opt/alt/python37/lib/python3.7/site-packages/raven/utils/encoding.pyÚis_protected_type   s    r   úutf-8FÚstrictc          
      sÞ   t | tƒr| S ˆrt| ƒr| S yft | tƒsvt| dƒr>|  ¡ } q‚tsdt | tƒrZt| ˆ ˆƒ} qtt| ƒ} q‚tt| ƒˆ ˆƒ} n|  ˆ ˆ¡} W nT t	k
rØ } z6t | t
ƒs¬t	|jŽ ‚nd ‡ ‡‡fdd„| D ƒ¡} W dd}~X Y nX | S )zÆ
    Similar to smart_text, except that lazy instances are resolved to
    strings, rather than kept as lazy objects.

    If strings_only is True, don't convert (some) non-string-like objects.
    Ú__unicode__ú c                s   g | ]}t |ˆ ˆˆƒ‘qS r   )Ú
force_text)Ú.0Úarg)ÚencodingÚerrorsÚstrings_onlyr   r   ú
<listcomp>C   s   zforce_text.<locals>.<listcomp>N)r   r   r   r   Úhasattrr   r   ÚbytesÚdecodeÚUnicodeDecodeErrorÚ	ExceptionÚargsÚjoin)Úsr   r   r   Úer   )r   r   r   r   r      s(    	






r   c             C   s    ddl m} t dt¡ || ƒS )Nr   )Ú	transformz5You should switch to raven.utils.serializer.transform)Zraven.utils.serializerr(   ÚwarningsÚwarnÚDeprecationWarning)Úvaluer(   r   r   r   r(   H   s    r(   c             C   sv   yt t| ƒƒ} W n` ttfk
r,   d} Y nF tk
rp   yt ttt| ƒƒƒƒ} W n tk
rj   d} Y nX Y nX | S )Nz(Error decoding value))r   r   ÚUnicodeEncodeErrorr"   r#   Úreprr   )r,   r   r   r   Ú
to_unicodeP   s    r/   c             C   s8   yt |  d¡ d¡ƒS  tk
r2   t| ƒ d¡S X d S )Nzutf-8)r   r!   Úencoder#   r/   )r,   r   r   r   Ú	to_string]   s    r1   )r   Fr   )Ú__doc__Ú
__future__r   r   r)   Zraven.utils.compatr   r   r   r   r   r   r   r(   r/   r1   r   r   r   r   Ú<module>   s   
,