
    4gJ                     t   d dl mZmZmZmZ d dlZd dlZd dlZd dlZd dl	m	Z	m
Z
 d dlZ ee          ZdZdZ e	j                                        d           dZ ej        eej        d	           d
 Ze                    dddg          d             Ze                    d          d             ZdS )    )Flaskrender_templaterequestsend_from_directoryN)datetime	timedeltamipsbe_script.sharm_script.sh%Y%m%d.logz)%(asctime)s - %(levelname)s - %(message)s)filenamelevelformatc                    	 t          j                    }|                    t          j                               |                    | |||d           |                    d          \  }}}	|                                                                }
g }d|
v rd|
                                v r=t          dd          5 }|
                                }d d d            n# 1 swxY w Y   nUd|
                                v r=t          d	d          5 }|
                                }d d d            n# 1 swxY w Y   ng }|D ]B}|                                }|r*|                    |           |                    |           C| d
d|
                                v rdnd|d}|  d}n| ddg d}|  d}|                                 ne# t           j        $ r | ddg d}|  d}Y nHt          $ r<}t!          |          }d|v sd|v r
|  d| }d }n| d| dg d}|  d| }Y d }~nd }~ww xY w|5  ||                    |           t#          j        |           d d d            d S # 1 swxY w Y   d S )N   )usernamepasswordporttimeoutz/system resource printMikroTikmipsber	   rarmr
   OK)ipstatusscriptexecuted_commandsz  - Login: OK - Commands executedzNot MikroTiknonez$ - Login: OK - Not a MikroTik devicezAuthentication errorz - Login: Authentication errorzUnable to connect to port 22z	timed outz
 - Error: zError: z - Login: Error - )paramiko	SSHClientset_missing_host_key_policyAutoAddPolicyconnectexec_commandreaddecodeloweropen	readlinesstripappendcloseAuthenticationException	Exceptionstrlogginginfo)r   r   r   r   resultslocksshstdinstdoutstderroutputr   filecommandscommandresultmessageeerror_messages                      /var/www/html/flashmk/app.pyssh_to_devicerB      s   C3 ""''(>(@(@AAABH4QRSSS !$ 0 01I J Jvv%%'' 6<<>>)),c22 0d#~~//H0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&,,..((/3// 04#~~//H0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  $ 6 6!--// 6$$W---%,,W555 &.&,,..&@&@((e%6	 F ===GG ( %'	 F AAAG		+ 8 8 8,!#	
 
 777 3 3 3A)]::k]>Z>Z**q**GFF 'A-- %'	 F 22q22G3" 
  NN6"""W                 sy   B?G C"G "C&&G )C&**G D5)G 5D99G <D9=BG H0+	H042H++H05,I..I25I2/GETPOST)methodsc                     g } t           j        dk    rvt           j        d                             d          }t           j        d         }t           j        d         }t	          t           j        d                   }g }t          j                    }|D ]}|                                }	 t          j	        |          }|
                                D ][}	t          |	          }
t          j        t          |
|||| |f          }|                    |           |                                 \# t           $ r5 d| }|                     |d	d
d           t#          j        |           Y w xY w|D ]}|                                 g }| D ]-}|                    |d         |d         |d         d           .g }t)          d          D ]}t+          j                    t/          |          z
                      d          }| d}t2          j                            t3          j                    |          }t2          j                            |          r|                    |           t;          d| r|nd |          S )NrE   network_ranges,r   r   r   )targetargsu   Chybný formát rozsahu: u   Chybný rozsahr   )r   r   r   r   r   r   
   )daysr   r   z
index.html)r3   	log_files)r   methodformsplitint	threadingLockr+   	ipaddress
ip_networkhostsr0   ThreadrB   r,   start
ValueErrorr1   errorjoinranger   nowr   strftimeospathgetcwdexistsr   )r3   rH   r   r   r   threadsresults_locknetworknetr   ip_strthreadr@   formatted_resultsresrN   idate_strlog_filenamelog_filepaths                       rA   indexrp   e   s   G~ &67==cBB<
+<
+7<'(( ~'' & 	- 	-GmmooG
-*733))++ # #B WWF&-]&RZ\dfjls  vB  JC  D  D  DFNN6***LLNNNN	#
  - - - EG E Eg9IU[\\]]]m,,,,,-  	 	FKKMMMM     d)(m(m"
 "
 	 	 	 	 I2YY + +LNNYA%6%6%66@@JJ"(((w||BIKK>>7>>,'' 	+\***<g1W1B1BSWclmmmms   *BD//<E.-E.z/logs/<filename>c                 d    t           j                            d          }t          || d          S )N.z
text/plain)mimetype)r`   ra   abspathr   )r   log_directorys     rA   download_logrv      s*    GOOC((M}hNNNN    )flaskr   r   r   r   r    rU   rS   r1   r   r   r`   __name__appMIPSBE_SCRIPT
ARM_SCRIPTr^   r_   rn   basicConfigINFOrB   routerp   rv    rw   rA   <module>r      sY   F F F F F F F F F F F F           ( ( ( ( ( ( ( ( 				eHoo #
 (,..))(33999  
,6   J J JZ 3((1n 1n )(1nh O O O O Orw   