File: //home/arjun/projects/buyercall/buyercall/blueprints/sms/__pycache__/bw_sms_tasks.cpython-310.pyc
o
�weF= � @ s4 d dl mZ d dlZd dlZd dlZd dlmZmZ d dl m
Z
d dlmZ
d dlmZ d dlmZ d dlmZ d dlmZ d d lmZ d d
lmZ d dlmZmZ d dlmZmZ d d
l m!Z! d dl"m#Z# ee�Z$e!� Z%e$j&dd� �Z'e$j&ddd��Z(e$j&dd� �Z)e$j&dd� �Z*e$j&dd� �Z+e$j&dd� �Z,dS )� ��AgentN)�current_app�url_for)� bw_client)�create_celery_app)�db)�Message)�Contact)�Endpoint)�Phone��PartnershipAccount�Partnership)�get_sms_routing_agents�get_agent_number)�WebhookUtil)�format_phone_numberc
K s& t j�t j|k��� }tj�tj| k��� }tj�tj|jk��� }tj�tj|j k��� }|j
dkr<t|j ddd�}nt|j d�}|j}|j
d } t|j�}
tj�tj|
k��tj|jk��� }|r�|jrpd�|j|j|
�}n
|jr{d�|j|
�}n|
}|jr�d�|j|j�}
n
td|jd d
�}
nd}d}
t| �}zEg }|D ]>}t|| �}t|d
�}|jr�d}nd}d�||j||
�}|jj|||d�}t� d�|�� |�!|j� t� d�||�� q�W n t"y� } zt� t#�$� � t� d� W Y d}~dS d}~ww t� d� |�r||_%t&j'�(� dS dS )�� This function is used to send Bandwidth sms messages using celery. More information on
bandwidth messaging can be found here; https://dev.bandwidth.com/howto/sendSMSMMS.html
�mobile� messaging��tn_type�defaultRoutingz
{} {} - {}z{} - {}z{}/contacts/contact/{}zcontacts.contact_lead_pageT)�id� _external�unknown�unavailabler �Yes�Noz$FROM: {} MSG: {} MEDIA: {} REPLY: {}��m_to�m_from�m_bodyzThe message responds is: {}zbA sms message has been successfully sent to agent phone number: {} using bandwidth phone number {}�lThe bandwidth sms message could not be sent, either due to no agent to receive it or there was another errorN� zUpdating message lead in DB))r �query�filterr �firstr r �partnership_account_idr �partnership_id�type�bw_dashboard_client�phonenumber�routing_configr �from_r
�
phonenumber_1� firstname�format�lastname� caller_id�partner_urlr r r �str� media_url� body_text�messages�create�log�info�append� Exception� traceback�
format_exc�agent_idr �session�commit)�
inbound_id�
message_id�kwargs�msg_obj�inbound�partner_account�partner�client�phone_number�routing�
lead_phone�contact�contact_name�lead_contact_url�agents�
agent_list�agent�agent_phone_number�sms_agent_number�media_available�mod_body�send_msg�e� r[ �G/home/arjun/projects/buyercall/buyercall/blueprints/sms/bw_sms_tasks.py�bw_forward_sms sx �
�
����
��
�r] c
K s t j�t j| k��� }tj�tj|jk��� }|jdkr%t|j ddd�}nt|j d�}|j
} z2|r<|jj|| ||d�}
n |jj|| |d�}
t
�d�| �� t| |
|j|j|� t�|
��dd�W S ty } zt
�t�� � t
�d � W Y d
}~d
S d
}~ww )r r r r )r! r"