HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //usr/local/lib/python3.9/site-packages/kombu/utils/__pycache__/json.cpython-39.pyc
a

X>h��@sZUdZddlmZddlZddlZddlZddlmZmZmZddl	m
Z
ddlmZm
Z
mZdZzddlmZeef7ZWney�Yn0Gd	d
�d
ej�Zddd
�dd�Zejedfdd�Zdd�dd�Zejdefdd�Ze
egefZZed�Zed�Zdd�fdddd d!�d"d#�ZiZd$ed%<d&d�d'd�d(�Zd)ed*<d+d,�Z e �dS)-zJSON Serialization Utilities.�)�annotationsN)�date�datetime�time)�Decimal)�Any�Callable�TypeVar�)�Promisecs eZdZdZ�fdd�Z�ZS)�JSONEncoderzKombu custom json encoder.cs�t|dd�}|dur|�St|t�r,t|�St��D]8\}\}}t||�r4|durZ||�nt|||��Sq4t|t�r�ztd|�d��WSt	y�tdt
�|��d��YS0t��
|�S)NZ__json__�bytes�utf-8�base64)�getattr�
isinstance�
textual_types�str�	_encoders�items�_asr
�decode�UnicodeDecodeErrorr�	b64encode�super�default)�self�oZreducer�t�marker�encoder��	__class__r
�:/usr/local/lib/python3.9/site-packages/kombu/utils/json.pyrs

�
zJSONEncoder.default)�__name__�
__module__�__qualname__�__doc__r�
__classcell__r
r
r!r#rsrrr�r�vcCs
||d�S)N)�__type__�	__value__r
r)r
r
r#r2srcKs(|pi}||fd|it|fi|����S)z Serialize object to json string.�cls)�dict)�s�_dumpsr-Zdefault_kwargs�kwargsr
r
r#�dumps6sr2r.�rcCsD|��ddhkr<t�|d�}|r.||d�Stdt|��n|SdS)z0Hook function to perform custom deserialization.r+r,zUnsupported typeN)�keys�	_decoders�get�
ValueError�type)r�decoderr
r
r#�object_hookBsr:TcCsTt|t�r|���d�}n.t|t�r0|�d�}n|rHt|t�rH|�d�}|||d�S)zDeserialize json from string.r)r:)r�
memoryview�tobytesr�	bytearrayr
)r/�_loadsZdecode_bytesr:r
r
r#�loadsNs


r?�T�EncodedTcCs|S�Nr
)�dr
r
r#�<lambda>i�rDztype[T]z
str | NonezCallable[[T], EncodedT]zCallable[[EncodedT], T]�rrr r9cCs ||ft|<|dur|t|<dS)aAdd support for serializing/deserializing native python type.

    If marker is `None`, the encoding is a pure transformation and the result
    is not placed in an envelope, so `decoder` is unnecessary. Decoding must
    instead be handled outside this library.
    N)rr5rFr
r
r#�
register_typeesrGz'dict[type, tuple[str | None, EncoderT]]rcCs
|�d�S�Nr)�encoder3r
r
r#rDxrEcCst�|�d��SrH)r�	b64decoderIr3r
r
r#rDyrE)r
rzdict[str, DecoderT]r5cCsfttdtjtj�ttddd�dd��ttddd�tj�ttdtt�ttj	d	d
d�dd��dS)NrrcSs|��SrB��	isoformatr3r
r
r#rD�rEz)_register_default_types.<locals>.<lambda>cSst�|���SrB)r�
fromisoformatrr3r
r
r#rD�rErcSs|��SrBrKr3r
r
r#rD�rE�decimal�uuidcSs
d|jiS)N�hex)rPr3r
r
r#rD�rEcSstjfi|��SrB)rO�UUIDr3r
r
r#rD�rE)
rGrrLrMrrrrrOrQr
r
r
r#�_register_default_types}s"
���rR)!r'�
__future__rr�jsonrOrrrrNr�typingrrr	rZdjango.utils.functionalr�ImportErrorrrr2r:r?ZDecoderTZEncoderTr@rArGr�__annotations__r5rRr
r
r
r#�<module>s@�
��