
    :eK                     p   d dl Z d dlZd dlZd dlmZmZ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T  ee          ZddlT ddlT ej        d	urtd dlZe                                d
k    rdZndZd dlmZ  eedd          Z ej        d          Ze                    e           ej                            e           ej                            dd           e                    ddg          d             Z e                    ddg          d             Z!e                    ddg          d             Z"e                    ddg          d             Z#e                    ddg          d             Z$e                    d dg          d!             Z%e                    d"dg          d#             Z&e                    d$          d%             Z'e                    d          e                    dd&g          d'                         Z(e                    d(d&g          d)             Z)e                    d*d&g          d+             Z*e                    d*d&gd,d-i.          e                    d/d&g          d0                         Z+e                    d*          d1             Z,ej-        d2             Z-e.                    d3           G d4 d5e/                      Z0e.                    e0          d6             Z1ed7k    re2                    d	8           dS dS )9    N)Flaskjsonifyrender_template)make_response)request)abort)BaseConverter   )*TWindowszAf:/xampp/htdocs/asia-tires.ruloc/www/telegram_esp32adv/python.logz6/opt/Telegram_ESP32/site2/telegram_esp32adv/python.log)RotatingFileHandleri  @   )maxBytesbackupCountz4%(asctime)s - %(name)s - %(levelname)s - %(message)sz__init__ >>> %so   z/<string:API_KEY>/email/POST)methodsc                 >   t          d           t          t          j                   t          j                    }t          |           t                              t          dt          | d          }|dk    r5|dk    r/t          j        dt          j
        i          t          j
        ddifS t                              | |t                    }|dk    r/t          j        dt          j
        i          t          j
        ddifS t          j        d|i          |ddifS )	Nrequest_email Tr   r
   resultContentTypeapplication/json)printr   methodget_json
cl_man_req
regRequestappjsondumpsclCresultNotValidDatar   API_KEYrequest_dataanss      H:\colect\biblioteka\programs\LiClipse 10.0.0\LiClipse Workspace\Telegram_ESP32WebApp\site2\telegram_esp32adv\flaskdir\__init__.pyr   r   .   s    	/	'.#%%L	,


"c7D
A
AC
axxC1HH:x(>?@@#BX[hi{Z|||

"
"7L#
>
>C
axx z8C$:;<<c>TWdewVxxx:xn%%s];M,NNN    z/<string:API_KEY>/recipient/c                 f   t          d           t          t          j                   t          j                    }t          |           t                              t          dt          | d          }|dk    r5|dk    r/t          j        dt          j
        i          t          j
        ddifS t                              | |t                    }|dk    r/t          j        dt          j
        i          t          j
        ddifS t          j        dt          j        i          t          j        ddifS )	Nrequest_recipientr   Tr   r
   r   r   r   )r   r   r   r   r   r   r   r    r!   r"   r#   r+   resultOKr$   s      r(   r+   r+   B   s   	
	'.#%%L	,


"c7D
A
AC
axxC1HH:x(>?@@#BX[hi{Z|||

&
&wc
B
BC
axx z8C$:;<<c>TWdewVxxx:x-..}M_>```r)   z/<string:API_KEY>/smtp/c                    t          d           t          |            t          t          j                   t          j                    }t          |           t                              t          dt          | d          }|dk    r5|dk    r/t          j        dt          j
        i          t          j
        ddifS t                              | |t                    }|dk    r/t          j        dt          j
        i          t          j
        ddifS t          j        dt          j        i          t          j        ddifS )	Nrequest_smtpr   Tr   r
   r   r   r   )r   r   r   r   r   r   r   r    r!   r"   r#   r.   r,   r$   s      r(   r.   r.   W   s   	.	'NNN	'.#%%L	,


"c7D
A
AC
axxC1HH:x(>?@@#BX[hi{Z|||

!
!'<
=
=C
axx z8C$:;<<c>TWdewVxxx:x-..}M_>```r)   z/<string:API_KEY>/c                    t          d           t                              t          dt          |           }|dk    r5|dk    r/t          j        dt          j        i          t          j        ddifS t          t          j        t          t          j
                                       t          t          j                   t          j                    }t          |           t          d           t          |d                    t                              | |t                    }|dk    r/t          j        dt          j        i          t          j        ddifS t          |          S )	Nget_records_tr   r   r
   r   r   r   DTF)r   r   r   r   r   r    r!   r"   r#   dictheadersr   r   r0   r   )r%   r'   r&   s      r(   r0   r0   n   s(   	/


"c7
;
;C
axxC1HH:x(>?@@#BX[hi{Z|||	$*T'/**
+
+,,,	'.#%%L	,	%LLL	,u
 
"
"7L#
>
>C
axx z8C$:;<<c>TWdewVxxx3<<r)   z/get_logs_name_device/c                     t          d           t          t          j        t          t          j                                       t          t          j                   	 t	          j                    } t          |            t          	                    | t                    }|dk    r/t          j        dt          j        i          t          j        ddifS t          |          S # t          $ r}t          d           t          t          |                     t          |j                   t          |           t          j        dt          j        i          t          j        ddifcY d }~S d }~ww xY w)Nget_logs_name_devicer   r   r   r   z(get_logs_name_device ini       Exception)r   r    r!   r2   r   r3   r   r   r   r5   r   r"   r#   r   	Exceptiontypeargsr&   r'   insts      r(   r5   r5      sS   	
 !!!	$*T'/**
+
+,,,	'.y'))l--lC@@!88 :x(>?@@#BX[hi{Z|||s|| y y y8999d4jjdidz8C$:;<<c>TWdewVxxxxxxxxy&   "A6C( C( (
E92A<E4.E94E9z/get_records_t_name_device/c                     t          d           t          t          j        t          t          j                                       t          t          j                   	 t	          j                    } t          |            t          	                    | t                    }|dk    r/t          j        dt          j        i          t          j        ddifS t          |          S # t          $ r}t          d           t          t          |                     t          |j                   t          |           t          j        dt          j        i          t          j        ddifcY d }~S d }~ww xY w)Nget_records_t_name_devicer   r   r   r   z-get_records_t_name_device ini       Exception)r   r    r!   r2   r   r3   r   r   r   r=   r   r"   r#   r   r6   r7   r8   r9   s      r(   r=   r=      sS   	
%&&&	$*T'/**
+
+,,,	'.y'))l22<EE!88 :x(>?@@#BX[hi{Z|||s|| y y y=>>>d4jjdidz8C$:;<<c>TWdewVxxxxxxxxyr;   z/get_list_name_device/c                     t          d           t          t          j        t          t          j                                       t          t          j                   	 t	          j                    } t          |            t          	                    | t                    }|dk    r/t          j        dt          j        i          t          j        ddifS t          |          S # t          $ r}t          d           t            t          d           t          t          |                     t          |j                   t          |           t#          t%          |          t          j                  d }~ww xY w)	N$get_list_name_device_ByIdUserGrafanar   r   r   r   zContent-type: text/html ;

z0get_list_name_device_ByIdUserGrafana   Exceptionstatus_code)r   r    r!   r2   r   r3   r   r   r   r?   r   r"   r#   r   r6   r7   r8   InvalidAPIUsagestrr9   s      r(   r?   r?      sF   	
0111	$*T'/**
+
+,,,	'.'))l==lCPP!88 :x(>?@@#BX[hi{Z|||s|| 	 	 	.///@AAAd4jjdidc$iiS5KLLLL	s    "A6C( C( (
F2BE>>Fz/<string:API_KEY>/infos/c                     t                               | t                    }|dk    r/t          j        dt
          j        i          t
          j        ddifS t          |          S )Nr   r   r   r   )r   r0   r   r    r!   r"   r#   r   )r%   r'   s     r(   get_records_t0rE      sW    

"
"7C
0
0C
axx z8C$:;<<c>TWdewVxxx3<<r)   GETc                    i }t                               t          dt          |           }|dk    r5|dk    r/t	          j        dt          j        i          t          j        ddifS dt          j        v r"t          j        	                    d          |d<   t           
                    | |t                    }|dk    r/t	          j        dt          j        i          t          j        ddifS t          |          S )Nr   r   r
   r   r   r   d)r   r   r   r   r    r!   r"   r#   r8   get
get_last_tr   r$   s      r(   rJ   rJ      s     L


"c7
;
;C
axxC1HH:x(>?@@#BX[hi{Z|||
gl#L,,S11S


s
;
;C
axx z8C$:;<<c>TWdewVxxx3<<r)   z/debug/c                  (   t           j                            d           d} d}	 t          j                            d          }|                                }t          j                            d          }t          |          }t          j                            d          }t          |          }t          j                            d          }t          |          }t          j                            d          }t          |          }d	}n)# t          $ r t          d
t          j                  w xY wt          d	|d          D ]O}|||z  z   }	|t          j        | |          z   }
t                              |
||	t          j        t                     }P|d	k    r5|dk    r/t%          j        dt          j        i          t          j        ddifS t           j                            dt          j                   t)          ||d          S )Nz reg_t_debugr
   
   mttststepniterr   
wrong datar@   r   r   r   request.remote_addr>>> %srN   rM   )r   loggerwarningr   r8   rI   upperint
ValueErrorrB   r"   r#   rangerandomrandintr   reg_t_debugremote_addrr    r!   r   )randTempOfDrandTempOfUrM   rN   rO   rP   rQ   rH   iterMtimettr'   s               r(   r]   r]     s   J~&&&KKLS!!GGIILS!!FF\d##WW  ))E

  ))E

    l8NOOOO q%## M MEEM![999$$RT73FLL axx!88 :x(>?@@#BX[hi{Z|||J2G4GHHH##$$$s   C-D &D9/c                  <   t           j                            d           	 t           j                            dt          t          j                             t          j                            d          } |  |                                 } t          	                    t          | t                     }|dk    r5|dk    r/t          j        dt          j        i          t          j        ddifS t          j                            d	          }t          |          }d}d
t          j        v rt          j                            d
          }n-# t          $ r }t!          dt          j                  d }~ww xY wt                              || |t          j        t                     }|dk    r5|dk    r/t          j        dt          j        i          t          j        ddifS t           j                            dt          j                   t+          || d          S )Nz reg_tzreg_t >>> %srM   r   r
   r   r   r   rN   rH   rR   r@   zreg_t import      ExceptionrS   rT   )r   rU   rV   rC   r   r8   rI   rW   r   r   r    r!   r"   r#   rX   r6   rB   r   r7   reg_tr^   r   )rM   r'   rN   firmware_numberr:   s        r(   rf   rf   :  s   Jx   
>3w|+<+<===LS!!9 GGII##Ga55!88qz8C,B"CDDcF\_lm  _A  A  A LS!!FF',%l..s33O    l8NOOOO 

1a/G4G
M
MC
axx!88 :x(>?@@#BX[hi{Z|||J2G4GHHH##$$$s   CE /AE 
E7E22E7macr   )r   defaultsz!/<string:mac>/api/v1.0/tasks/mac/c                 d    t           j                            d          }t          || d          S )Nv)rk   rh   )r   r8   rI   r   )rh   rk   s     r(   	catch_macrl   n  s/     	A3''(((r)   c                      dS )NzHello Flask under Apache! rn   r)   r(   hello_worldRro   w  s    &&r)   c                    	 t          d| j        z             | j        dk    rt          j                                        }|                    d          }t          d|dt
          j        dt
          j        dt
          j        dt
          j	        d| j
                   ne# t          $ rX}t          d           t          t          |                     t          |j                   t          |           Y d}~nd}~ww xY w| S )z Logging after every request. zafter_request() called %si  z[%Y-%b-%d %H:%M]zafter_request  zafter_request ExceptionN)r   rA   datetimenowstrftimer   r^   r   scheme	full_pathstatusr6   r7   r8   )responsedtrO   r:   s       r(   after_requestrz     s   
)X-ABCCC3&&"&&((B/00BERR'''NNNNNN%%%OO% & & &    '(((d4jjdid	 Os   B#B& &
D0ADDi  c                   *     e Zd ZdZd fd	Zd Z xZS )rB   i  Nc                 v    t                                                       || _        ||| _        || _        d S N)super__init__messagerA   payload)selfr   rA   r   	__class__s       r(   r   zInvalidAPIUsage.__init__  s9    "*Dr)   c                 Z    t          | j        pd          }| j        |d<   | j        |d<   |S )Nrn   rA   r   )r2   r   rA   r   )r   rvs     r(   to_dictzInvalidAPIUsage.to_dict  s3    $,$"%% ,=9	r)   )NN)__name__
__module____qualname__rA   r   r   __classcell__)r   s   @r(   rB   rB     sS         K           r)   rB   c                 R    t          |                                           | j        fS r}   )r   r   rA   )es    r(   invalid_api_usager     s    199;;..r)   __main__)debug)3rr   r    r[   flaskr   r   r   r   r   r   werkzeug.routingr	   handlers.cl_man_reqr   r   registrationdevice_managementr   loggingplatformsystempath_loglogging.handlersr   file_handler	Formatter	formattersetFormatterrU   
addHandlerinforouter   r+   r.   r0   r5   r=   r?   rE   rJ   r]   rf   rl   ro   rz   errorhandlerr6   rB   r   runrn   r)   r(   <module>r      s  
    1 1 1 1 1 1 1 1 1 1                   * * * * * * $ $ $ $ eHoo     # # # # 9DNNNI%%VK444444&&x2C468 8 8L "!"XYYIi(((J,''' 
!3 ' ' ' %x88O O 98O& )F8<<a a =<a( $vh77a a 87a, &22  32> #fX66y y 76y0 (6(;;y y <;y0 #fX66  76: %&&  '&   %11  21 ! . 9ug&&,% ,% '&,%l 3  .% .% ! .%f 35"+66.@@) ) A@ 76) 3' ' '>   4 #    i   " /""/ / #"/ zGG$G r)   