
    eY                     |   d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dlZd dl	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d dlZd dlZ ej                    d
k    rdZndZ	 e j                            d e           e j                            d d           e j                            d d           e j                            d d           d dlmZ d dlmZ d dlm Z  d dl!m"Z" d dl#m$Z$ d dl#m%Z%  e            Z& e             Z' e"            Z( e$            Z) e%            Z*dZ+ G d de,          Z-dS )    N)timezone)abc)MIMEText)MIMEMultipart)MIMEBase)	MIMEImage)encoders)HeaderWindowszVH:\colect\biblioteka\programs\LiClipse 10.0.0\LiClipse Workspace\Telegram_ESP32WebApp\z/opt/Telegram_ESP32/z../..z..*)clC)clManTEMP_DB)clManTZone_DB)clManEmail_DB)clMLog)clMLogRequestzSSL/TLSc                      e Zd ZdZi Zd Zed             Zed             Zed             Z	ed             Z
ed             Zed             Zed	             Zed
             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zedd            Zed             Zd ZdS )
cl_man_reqz    
 
    c                     d S )N )selfs    VF:\xampp\htdocs\asia-tires.ruloc\www\telegram_esp32adv\flaskdir\handlers\cl_man_req.py__init__zcl_man_req.__init__A   s        c                 z   d}|                                  }|D ]}t          | |         t          j                  r|j                            d| |                    | |                                          }d|v rd}|j                            d|           |j                            d|           t          j                            | |         |                                                   | |         |<   |j                            d| |         d                    t          t          | |                             D ]u}t          j                            | |         |         |                                                   | |         |         |<   t          | |         |         |                    v| S )NDTz&cl_man_req Convert_to_date dict >>> %sTIMEz-cl_man_req Convert_to_date o_dict_keys >>> %sz,cl_man_req Convert_to_date Name_o_key >>> %sz&cl_man_req Convert_to_date list >>> %sr   )keys
isinstancer   Mappingloggerwarningdatetimefromtimestamp	isoformatrangelenprint)dictResapp
Name_o_key	dict_keyskeyo_dict_keysis          r   Convert_to_datezcl_man_req.Convert_to_dateD   s   
LLNN	 	7 	7C'#,44 7
""#KWUX\ZZZ%cl//11[((!'J
""#RT_```
""#QS]^^^+3+<+J+J7SV<XbKc+d+d+n+n+p+pZ(( 
""#KWUX\Z[_]]]s73<0011 7 7A2:2C2Q2QRYZ]R^_`RablRm2n2n2x2x2z2zGCLOJ/'#,q/*566667 r   c                 r    t                               | |          }|j                            d|           |S )Nzcl_man_req ChTZone ans >>> %s)v_clManTZone_DBChTZone_BYmacr!   r"   )mactzoner*   anss       r   ChTZonezcl_man_req.ChTZone\   s5    ++C77
:C@@@
r   c                  >    t          j                    dk    rd} nd} | S )Nr      r   )platformsystem)is_wins    r   r<   zcl_man_req.is_winb   s&    ?	))FFFr   c                 p    |j                             d|            t                              |           }|S )Nz%cl_man_req get_TZONE_BYmac mac >>> %s)r!   r"   r2   get_TZONE_BYmac)r4   r*   r5   s      r   r>   zcl_man_req.get_TZONE_BYmacj   s3    
BCHHH//44r   c                     t                               |           }|j                            d|            |j                            d|           |S )Nz*cl_man_req get_macByAPI_KEY API_KEY >>> %sz&cl_man_req get_macByAPI_KEY mac >>> %s)v_clManTEMP_DBget_macByAPI_KEYr!   r"   API_KEYr*   r4   s      r   rA   zcl_man_req.get_macByAPI_KEYp   sN     --g66
GQQQ
CSIII
r   c                     t                               |           }|j                            d|            |j                            d|           |S )Nz+cl_man_req get_macByAPI_KEY2 API_KEY >>> %sz'cl_man_req get_macByAPI_KEY2 mac >>> %s)r@   get_macByAPI_KEY2r!   r"   rB   s      r   rE   zcl_man_req.get_macByAPI_KEY2x   sN     ..w77
H'RRR
DcJJJ
r   c                     t                               |          }t                               | |||          }|j                            d|           |S )Nz;cl_man_req get_macBy_name_deviceAndIdUserGrafana mac >>> %s)r@   get_id_telegramByIdUserGrafana$get_macBy_id_telegramAnd_name_devicer!   r"   )name_deviceid_user_grafanalogin_user_grafanar*   id_telegramr4   s         r   %get_macBy_name_deviceAndIdUserGrafanaz0cl_man_req.get_macBy_name_deviceAndIdUserGrafana   sU    $CCOTTAA+{\km  A  A
XZ]^^^
r   c                    |                      dd          } |                                 } |                     t          j                  }t          d           t          |           t          |          dk    rdS |D ])}t          j        d|          st          d            dS *t          |          t          j	        k    rdS |S )Nz   z get_emailsr   Fz[^@]+@[^@]+\.[^@]+z not email )
replacestripsplitr   StrSpliterBr(   r'   rematchMaxNumEmailRecipients)emails	ar_emailsemails      r   
get_emailszcl_man_req.get_emails   s    c**LL11	miy>>QE 	 	E81599 m$$$
 y>>C555Er   c                 J   t                               |d                   }t          t          |                    dk    rdS t                               | |          }|dk    rdS d}	 t
                              ||          }t          d           t          |           ne# t          $ rX}t          d           t          t          |                     t          |j	                   t          |           Y d }~nd }~ww xY w|j
                            d|           |S )NEMAILz<class 'list'>r   zrequest_recipient       ansz!request_recipient       Exceptionz'cl_man_req request_recipient ans >>> %s)r   rZ   strtyperE   v_clManEmail_DBrequest_recipientr(   	Exceptionargsr!   r"   )rC   request_datar*   
ans_emailsr4   r6   insts          r   r`   zcl_man_req.request_recipient   s"   **<+@AA
 tJ  $4441**7C88!881		!33L#FFC/000#JJJJ 	 	 	5666$t**$)$KKKKKKKK		 	
DcJJJ
s   )9B# #
D-AD  Dc                    d}|}	t          |t                    r|n|g}
d                    |          }
|}t                      }|	|d<   |
|d<   t	          |d          |d<   d| d|                     d          }	 |                    t          |d	d                     t          j	        | |          }	 |
                                 |                    ||           |                                }|                    |	|
|           t          d
           t          j        }nT# t"          $ rG}t%                      }t          d|           t          d|           t'          |          }Y d }~nd }~ww xY w|                                 n# |                                 w xY wnT# t"          $ rG}t%                      }t          d|           t          d|           t'          |          }Y d }~nd }~ww xY w|S )Nr   z, FromTozutf-8SubjectzSubject:z

plainzsuccessfully sent the mailzsaved_args iszError sending email: zError sending email0: )r   listjoinr   r
   encodeattachr   smtplibSMTP_SSLehlologin	as_stringsendmailr(   r   resultOKra   localsr]   close)SMTP_server_namePORTUSERPWDCONN_SECURITY	recipientsubjectbodyr6   FROMTOSUBJECTmsgmsgT
server_ssltexterr
saved_argss                     r   
send_emailzcl_man_req.send_email   s,    $Y55FYYI;YYy!! ooFD	11I-'--t--44W==:	 JJxgw77888 !)*:DAAJ$#!!!  s+++( }}##D"d333 3444l   #XX
oz222.444#hh	   """"
  """"" 	 	 	J/:...+S111c((CCCCCC		
 sU   =9F+ 7A0D( 'F (
E92=E4/F 4E99F <F+ F''F+ +
G<5=G77G<c                    t                               | |          }|dk    rt          j        S t                              |          }|dk    rt          j        S t                               |          }t                              |          }|dk    rt          j        S t                               |d         |d         |d         |d         |d         ||d         |d                   }|j	        
                    d	|           |S )
Nr   rx   ry   rz   r{   r|   SUBJBODYz#cl_man_req request_email ans >>> %s)r   rE   r   resultEmailNotValidr_   get_emailsDBrZ   get_smtpr   r!   r"   )rC   rc   r*   r4   r\   rd   oner6   s           r   request_emailzcl_man_req.request_email  s     **7C88!88**,,S11A::****511

 &&s++!88**##"#KKJ   	 	 	
@#FFF
r   c                    t                               | |          }|dk    rdS d}	 t                              ||          }t	          d           t	          |           ne# t
          $ rX}t	          d           t	          t          |                     t	          |j                   t	          |           Y d }~nd }~ww xY w|j        	                    d|           |S )Nr   zrequest_smtp       anszrequest_smtp       Exceptionz"cl_man_req request_smtp ans >>> %s)
r   rE   r_   request_smtpr(   ra   r^   rb   r!   r"   )rC   rc   r*   r4   r6   re   s         r   r   zcl_man_req.request_smtp.  s    **7C88!881		!..|SAAC*+++#JJJJ 	 	 	0111$t**$)$KKKKKKKK		 	
?EEE
s   9A! !
C+AB>>Cc                 ~   i }	 t                               |           }t          d           t          |           ne# t          $ rX}t          d           t          t	          |                     t          |j                   t          |           Y d }~nd }~ww xY w|j                            d|           |S )Nz-get_list_name_device_ByIdUserGrafana  dictResz4get_list_name_device_ByIdUserGrafana       Exceptionz>cl_man_req get_list_name_device_ByIdUserGrafana dictRes >>> %s)r@   $get_list_name_device_ByIdUserGrafanar(   ra   r^   rb   r!   r"   )rc   r*   r)   re   s       r   r   z/cl_man_req.get_list_name_device_ByIdUserGrafanaB  s     		$II,WWGABBB'NNNN 	 	 	HIII$t**$)$KKKKKKKK		 	
[]deees   8= 
BABBc                 |   t                               | |          }|dk    rdS i }	 t                               ||          }t                              |||          ||<   	 |d         rt                               ||          }n# t          $ r
}Y d }~nd }~ww xY wt          d           t          |           ne# t          $ rX}t          d           t          t          |                     t          |j	                   t          |           Y d }~nd }~ww xY w|j
                            d|           |S )Nr   dzget_records_t       dictReszget_records_t       Exceptionz#cl_man_req get_records_t mac >>> %s)r   rA   r>   r@   get_records_tr0   ra   r(   r^   rb   r!   r"   )rC   rc   r*   r4   r)   r5   re   s          r   r   zcl_man_req.get_records_tT  sY   ))'377!881	..sC88E)77c5QQGCL$ G(88#FFG     /000'NNNN 	 	 	1222$t**$)$KKKKKKKK		 	
@#FFFs<   :B< "#B B< 
BB< B!B< <
DADDc                 >   t                               | d         | d         | d         |          }|dk    rdS i }	 t          t          j                   | d                             dd          | d<   t          t          | d                              | d                             dd          | d<   t          t          | d                              t          j                            | d                   }t          t          j        |                                                    | d<   t          j                            | d                   }t          t          j        |                                                    | d<   t          t          | d                              t          t          | d                              t          d	           t          | d
                    d}t                              | |||          ||<   	 | d         r?t          d           t          | d                    t                               ||          }||         }n# t           $ r
}Y d }~nd }~ww xY wt          d           t          |           ne# t           $ rX}t          d           t          t#          |                     t          |j                   t          |           Y d }~nd }~ww xY w|j                            d|           |S )NrI   id_userrK   r   DTSZ+00:00DTFz,get_logs_name_device  request_data timezone r   r   z&get_logs_name_device   request_data d z"get_logs_name_device       dictResz$get_logs_name_device       Exceptionz*cl_man_req get_logs_name_device mac >>> %s)r   rM   r(   sysversionrP   r]   r#   fromisoformatinttimemktime	timetupler@   get_logs_name_devicer0   ra   r^   rb   r!   r"   rc   r*   r4   r)   curr_dtr5   re   s          r   r   zcl_man_req.get_logs_name_devicew  s   >>|M?Z\hir\s  vB  CW  vX  Z]  ^  ^!881)	#+ ,U 3 ; ;C I IL3|E*++,,, ,U 3 ; ;C I IL3|E*++,,,'55l56IJJG"%dk'2C2C2E2E&F&F"G"GL'55l56IJJG"%dk'2C2C2E2E&F&F"G"GL 3|E*++,,,3|E*++,,,@AAA,z*+++E)>>|SRWY^__GCL
$ GBCCC,s+,,,(88#FFG "#,    6777'NNNN 	 	 	8999$t**$)$KKKKKKKK		 	
GMMMs>   GJ AI' &J '
I;1J 6I;;!J 
K?'AK::K?c                    t                               | d         | d         | d         |          }|dk    rdS i }	 | d                             dd          | d<   t          t	          | d                              | d                             dd          | d<   t          t	          | d                              t
          j                            | d                   }t          t          j	        |
                                                    | d<   t
          j                            | d                   }t          t          j	        |
                                                    | d<   t          t	          | d                              t          t	          | d                              t          d	           t          | d
                    d}t                              | |||          ||<   	 | d         r?t          d           t          | d                    t                               ||          }||         }n# t          $ r
}Y d }~nd }~ww xY wt          d           t          |           ne# t          $ rX}t          d           t          t          |                     t          |j                   t          |           Y d }~nd }~ww xY w|j                            d|           |S )NrI   r   rK   r   r   r   r   r   z1get_records_t_name_device  request_data timezone r   r   z+get_records_t_name_device   request_data d z'get_records_t_name_device       dictResz)get_records_t_name_device       Exceptionz/cl_man_req get_records_t_name_device mac >>> %s)r   rM   rP   r(   r]   r#   r   r   r   r   r   r@   r   r0   ra   r^   rb   r!   r"   r   s          r   get_records_t_name_devicez$cl_man_req.get_records_t_name_device  s   >>|M?Z\hir\s  vB  CW  vX  Z]  ^  ^!881.	 ,U 3 ; ;C I IL3|E*++,,, ,U 3 ; ;C I IL3|E*++,,,'55l56IJJG"%dk'2C2C2E2E&F&F"G"GL'55l56IJJG"%dk'2C2C2E2E&F&F"G"GL 3|E*++,,,3|E*++,,,EFFF,z*+++ E)77c5RWXXGCL
$ GGHHH,s+,,,(88#FFG "#,    ;<<<'NNNN 	 	 	=>>>$t**$)$KKKKKKKK		 	
LcRRRs>   GJ >AI J 
I"J I""!J 
K&AK!!K&c                    t                               | |          }|dk    rdS t                               ||          }t                              ||          }|j                            d|           i }||d<   	 |d         rt                               ||          }n# t          $ r
}Y d }~nd }~ww xY w|d         }|j                            d|           |S )Nr   z cl_man_req get_last_t ans >>> %sTr   z"cl_man_req get_last_t 2 ans >>> %s)	r   rA   r>   r@   
get_last_tr!   r"   r0   ra   )rC   rc   r*   r4   r5   r6   r)   re   s           r   r   zcl_man_req.get_last_t  s    ))'377!881**344''U33
=sCCC	C  C$44WcBB 	 	 	DDDD	cl
?EEE
s   =#B! !
B50B5c                 v    t                               | |||          }|j                            d|           |S )Nz!cl_man_req reg_t_debug ans >>> %s)r@   reg_t_debugr!   r"   )tr4   r   IPr*   r6   s         r   r   zcl_man_req.reg_t_debug  s;     ((Cr::
>DDD
r    Fc                    ddddddd}d}d}| j         }|dk    rE|d	k    rt                              ||          }nt                              ||          }|d
k    rd
S d| j        v r|d         }	|dk    r|dk    r|d         }		 |                                 }|                                }
|dk    rd|
v r|d         }	|                    d          dk    r|d         }	|                    d          dk    r|d         }	|                    d          dk    r|d         }	n# t          $ r Y nw xY w| j        }|	                                }t          |                                          d
k    rd}nt          |          }t          |          }||z   }|j                            d|	d|           t                              || j        ||	|          }|j                            d|           |S )Nreg_tr   r   smtpr}   rY   )r   r   r   r   r}   rY   r   Fr   r   r   z&cl_man_req regRequest action value>>> rO   z cl_man_req regRequest ans >>> %s)pathr   rA   rE   rb   get_jsonr   findra   to_dictr'   itemsr]   r!   r"   v_clMLogRequest
regRequestremote_addr)requestr4   r*   rC   forSalt2dict_actionvalueGvaluePr   actionar_keysvaluer6   s                r   r   zcl_man_req.regRequest  s5    %+#
 
 | "99 11'3?? 227C@@axxq', )F"99B .F	%%''FkkmmGbyyew..$_5yy  B&&$V,yy%%++$[1yy!!R''$W- 	 	 	D	 !!v||~~!##FF[[FV
FFFTYTYZ[[[((g.A4RWXX
=sCCC
s   BD$ $
D10D1c                 v    t                               | |||          }|j                            d|           |S )Nzcl_man_req reg_t ans >>> %s)r@   r   r!   r"   )r   r4   firmware_numberr   r*   r6   s         r   r   zcl_man_req.reg_tB  s;     ""1c?B??
8#>>>
r   c                 "    d| _         || _        d S )Nr   )Real_parameter_sizedict_v)r   r   s     r   Set_initzcl_man_req.Set_initI  s    #$  	r   N)r   F)__name__
__module____qualname____doc__r   r   staticmethodr0   r7   r<   r>   rA   rE   rM   rZ   r`   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   :   sm         F     \.   \
   \   \
   \   \   \   \*   \: M M \M^     \ D   \&   \"   \D 2 2 \2j 7 7 \7r   \.   \ 9 9 9 \9v   \    r   r   ).r   rT   r#   r   zoneinfor   collectionsr   ro   email.mime.textr   email.mime.multipartr   email.mime.baser   email.mime.imager   rY   r	   email.headerr
   jsonr:   r;   sr   insertutils.constsr   man_db.clManTEMP_DBr   man_db.clManTZone_DBr   man_db.clManEmail_DBr   
man_db.MDBr   r   r@   r2   r_   v_clMLogr   CONN_SECURITY_SSLobjectr   r   r   r   <module>r      sE  
 


 				                 $ $ $ $ $ $ . . . . . . $ $ $ $ $ $ & & & & & &              8?	!!gA 	A 1    7    4    3          - - - - - - / / / / / / / / / / / /       & & & & & &-//-//688-// T T T T T T T T T Tr   