
    bEfU                     h    d dl Z d dlZd dlT d dlmZ d dlmZ d dlmZ  G d dej	                  Z	dS )    N)*)fields)cmf_plugin_smsgate)quotec                   P     e Zd Zed             Zd Z fdZdd fd
Zd Z xZ	S )CmfPluginSMSGatec                 2    |                      ddg          S )NTplugin.ext_url)systemr   )get)clss    %./common/models/cmf_plugin_smsgate.pyget_local_smsgatez"CmfPluginSMSGate.get_local_smsgate   s    wwd,<+=w>>>    c                 d    | j         rd S t                              | j        d          | _         d S )Nsmsgate)nametype)pluginmodels	CmfPluginr   )selfs    r   _process_pluginz CmfPluginSMSGate._process_plugin   s1    ; 	F&&DII&FFr   c                 L    t                                                      dgz   S )Nr   )supersave_preload_fields)r   	__class__s    r   r   z$CmfPluginSMSGate.save_preload_fields   s     ww**,,z99r   r   )depthc                b    |                                    t                      j        |d|i|S )Nr   )r   r   save)r   r   argskwargsr   s       r   r    zCmfPluginSMSGate.save   s5    uww|T99&999r   c                     t                               d| d|            t          j        s6t	          t          dd           dk    rt                               d           d S |                     dg           t          |          dk    rt                               d| d	           | j        j        j	        
                    t          |          t          |          
          }	 t                                                              |d          }|                                 nP# t           j        j        $ r9}t'          j        d| d| d           t+          d| d           Y d }~dS d }~ww xY wdS )Nu   Отправка sms: phone=z
, message=APP_FQDNzbcrm.carbonsoft.ruuZ   Отправка sms отменена, т.к. сервер не в production-режимеr
   F   ur   Предупреждение отправки SMS. Длина текста SMS больше 70 символов: ``)phonetext   )timeoutzCmfPluginSMSGate.send_message(z, )u9   Ошибка отправки SMS уведомления .FT)gdebugconfig
PRODUCTIONgetattrload_fieldslenr   ext_urlvalueformatr   cmfutilrequests_sessionr   raise_for_statusrequests
exceptionsRequestExceptionlogging	exception	cmf_alert)r   r'   messager!   r"   get_urlreses           r   send_messagezCmfPluginSMSGate.send_message   s   	IuIIIIJJJ  	WVZ%F%FJ^%^%^GGqrrrF*+,,,w<<"GG  T  JQ  T  T  T  U  U  U+%+22,,U7^^ 3 
 
	**,,00!0DDC  """""3 	 	 	RuRRRRRSSSVRSVVVWWW55555	 ts   +AD. .E;.E66E;)
__name__
__module____qualname__classmethodr   r   r   r    rD   __classcell__)r   s   @r   r   r      s        ? ? [?G G G
: : : : : !" : : : : : : :
      r   r   )
r=   r:   cmf.includecmfr   common.fieldsr   urllib.parser   r    r   r   <module>rO      s                , , , , , ,      % % % % %): % % % % %r   