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/transport/__pycache__/SLMQ.cpython-39.pyc
a

X>hG�@s�dZddlmZddlZddlZddlZddlmZddlm	Z	m
Z
ddlmZm
Z
ddlmZdd	lmZzdd
lmZddlmZWney�dZZYn0dd
�ejD�ZGdd�dej�ZGdd�dej�ZdS)a+SoftLayer Message Queue transport module for kombu.

Features
========
* Type: Virtual
* Supports Direct: Yes
* Supports Topic: Yes
* Supports Fanout: No
* Supports Priority: No
* Supports TTL: No

Connection String
=================
 *Unreviewed*

Transport Options
=================
 *Unreviewed*
�)�annotationsN)�Empty)�bytes_to_str�safe_str)�dumps�loads)�cached_property�)�virtual)�
get_client)�
ResponseErrorcCsi|]}|dvrt|�d�qS)�_�_)�ord)�.0�c�r�>/usr/local/lib/python3.9/site-packages/kombu/transport/SLMQ.py�
<dictcomp>)srcs�eZdZdZdZdZdZiZe�Z	�fdd�Z
�fdd�Z�fd	d
�Ze
fdd�Zd
d�Z�fdd�Zdd�Zdd�Z�fdd�Zdd�Zdd�Zdd�Zedd��Zedd ��Zed!d"��Zed#d$��Zed%d&��Z�ZS)'�Channelz
SLMQ Channel.izkombu%(vhost)sNcsDtdurtd��t�j|i|��|j��}|D]}||j|<q0dS)Nz7SLMQ transport requires the softlayer_messaging library)r�ImportError�super�__init__�slmq�queues�_queue_cache)�self�args�kwargsr�queue��	__class__rrr7s�
zChannel.__init__cs,|r|j�|�t�j||g|�Ri|��S�N)�
_noack_queues�addr�
basic_consume)rrZno_ackrrr rrr%As��zChannel.basic_consumecs,||jvr |j|}|j�|�t��|�Sr")Z
_consumersZ
_tag_to_queuer#�discardr�basic_cancel)rZconsumer_tagrr rrr'Gs

zChannel.basic_cancelcCstt|���|�S)z4Format AMQP queue name into a valid SLQS queue name.)�strr�	translate)r�name�tablerrr�entity_nameMszChannel.entity_namecKsx|�|j|�}z|j|WStyrz|jj||jd�WntyRYn0|j�|�}|j|<|YS0dS)zEnsure a queue exists in SLQS.)�visibility_timeoutN)	r,�queue_name_prefixr�KeyErrorrZcreate_queuer-rr)rrr�qrrr�
_new_queueQs�
zChannel._new_queuecs<|�|�}|j�|d�|j�|�jdd�t��|�dS)zDelete queue by name.NT)�force)r,r�poprr�deleter�_delete)rrrrZ
queue_namer rrr5_s
zChannel._deletecKs|�|�}|�t|��dS)zPut message onto queue.N)r1�pushr)rr�messagerr0rrr�_putfs
zChannel._putcCs�|�|�}|�d�}|drx|dd}tt|d��}||jvrV|�|d���n|dd�|d|jd��|St	��d	S)
z/Try to retrieve a single message off ``queue``.r	�itemsr�body�idZ
properties�
delivery_info)�slmq_message_id�slmq_queue_nameN)
r1r3rrr#r7r4�updater*r)rrr0�rs�m�payloadrrr�_getks



�zChannel._getcsN|j�|�j}z|d}Wnty,Yn0|�||d�t��|�dS)Nr>r=)Zqos�getr<r/�delete_messager�	basic_ack)rZdelivery_tagr<rr rrrFzszChannel.basic_ackcCs|�|���dS)z)Return the number of messages in a queue.Z
message_count)r1Zdetail)rrrrr�_size�sz
Channel._sizecCsV|�|�}d}|�d�}|drR|dD]}|�||d�|d7}q(|�d�}q|S)z'Delete all current messages in a queue.r�
r9r;r	)r1r3rE)rrr0�n�resultsrArrr�_purge�s


zChannel._purgecCs |j�|�|��}|�|���Sr")rrr,r7r4)rrZ
message_idr0rrrrE�szChannel.delete_messagec	Cs�|jdur�|j}tj�d|j�}tj�d|j�}tj�d|j�}tj�d|j�}tj�d|j	�}t
tj�d|j�d��pzd�}d	�|r�d
nd||r�d|��nd
�}t
||d�|_|j�||�|jS)NZSLMQ_ACCOUNTZSL_USERNAMEZ
SL_API_KEYZ	SLMQ_HOSTZ	SLMQ_PORTZSLMQ_SECURE�secureTz	{}://{}{}�https�http�:�)�endpoint)�_slmq�conninfo�os�environrDZvirtual_hostZuserid�password�hostname�port�bool�transport_options�formatrZauthenticate)	rrS�account�userZapi_key�hostrXrLrQrrrr�s&
���zChannel.slmqcCs|jjSr")�
connection�client�rrrrrS�szChannel.conninfocCs
|jjjSr")r_r`rZrarrrrZ�szChannel.transport_optionscCs|j�d�p|jS)Nr-)rZrD�default_visibility_timeoutrarrrr-�s�zChannel.visibility_timeoutcCs|j�dd�S)Nr.rP)rZrDrarrrr.�szChannel.queue_name_prefix)�__name__�
__module__�__qualname__�__doc__rbZ
domain_formatrRr�setr#rr%r'�CHARS_REPLACE_TABLEr,r1r5r8rCrFrGrKrE�propertyrrSrZrr-r.�
__classcell__rrr rr.s8





rc@s.eZdZdZeZdZdZejj	e
ejfZ	dS)�	TransportzSLMQ Transport.r	N)
rcrdrerfrZpolling_interval�default_portr
rkZconnection_errorsr�socket�errorrrrrrk�s��rk)rf�
__future__rrTrm�stringrrZkombu.utils.encodingrrZkombu.utils.jsonrrZkombu.utils.objectsrrPr
Zsoftlayer_messagingrZsoftlayer_messaging.errorsrr�punctuationrhrrkrrrr�<module>s(�