
    MEg                        d dl Z d dlZd dlZd dlmZ d dlmZmZmZmZ d dl	Z	d dl
Z
 ee          ZdZdZdZdZdZd	 ej                                        d
           dZ ej        eej        d           d Ze                    dddg          d             Zd dlmZ e                    d          d             Zedk    re                    d           dS dS )    N)datetime)Flaskrender_templaterequestsend_from_directoryzairos_script.shzairos6_script.shzairos8_script.shzmipsbe_script.shzarm_script.shdevice_scanner_z%Y%m%d.logz)%(asctime)s - %(levelname)s - %(message)s)filenamelevelformatc                    t          j                    }|                    t          j                               	 |                    | |||d           	 |                    d          \  }}}	|                                                                                                	                                }
d|
v sd|
v sd|
v rDd}t          t          d          5 }|                                }d d d            n# 1 swxY w Y   n|                    d	          \  }}}	|                                                                                                	                                }
d
|
v sd|
v rDd}t          t          d          5 }|                                }d d d            n# 1 swxY w Y   nd}t          j        |  d|
            g }n4# t           $ r'}d}g }t          j        |  d|            Y d }~nd }~ww xY w|r,|D ])}|                    |	                                           *| d|d}|  d| }n# t           j        $ r | ddd}|  d}Y nt           j        $ r}dt)          |          v sdt)          |          v rF| ddd}|  dt)          |           }t          j        |  dt)          |                      Y d }~d S | d| dd}|  d| }Y d }~n*d }~wt           $ r}| d| dd}|  d| }Y d }~nd }~ww xY w|5  d|vrd|vr|                    |           t          j        |           d d d            d S # 1 swxY w Y   d S )N
   )usernamepasswordporttimeoutzcat /etc/versionairosv6v8airos6rz/system resource printrouterosmikrotikmipsbenonez - Unknown device type. Exit: u#    - Chyba při detekci zařízení: OKipstatusscriptz - Login: OK - Script: zLogin errorz - Login: Login errorz[Errno None] Unable to connectz	timed outzConnection errorz - Connection error: z - zChyba SSH: z - Login: Error SSH - zChyba: z - Login: Error - zUnable to connect)paramiko	SSHClientset_missing_host_key_policyAutoAddPolicyconnectexec_commandreaddecodelowerstripopenAIROS6_SCRIPT	readlinesMIPSBE_SCRIPTloggingwarning	ExceptionerrorAuthenticationExceptionSSHExceptionstrappendinfo)r   r   r   r   resultslocksshstdinstdoutstderroutputscript_typefilecommandsecommandresultmessages                     /var/www/html/testmk/app.pyssh_to_devicerG      s   



C##H$:$<$<===7/BH4QSTTT	I$'$4$45G$H$H!E66[[]]))++113399;;F&  DFNNdfnn&--- 0#~~//H0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ),(8(89Q(R(R%vv--//5577==??'':+?+?"*KmS11 4T#'>>#3#34 4 4 4 4 4 4 4 4 4 4 4 4 4 4 #)KOr$Q$Q$Q$QRRR!H 	I 	I 	I KHMRGGAGGHHHHHHHH	I  	2# 2 2  1111dkBB====+ / / /mvFF...  	7 	7 	7+s1vv55A9N9N*<OOF::#a&&::GMR,,CFF,,---FFFFF*;*;*;vNNF66166GGGGGG / / /mmmvFF..1../
 
   g--+W2L2LNN6"""W                 s   I BG C=1G =DG DBG F, G ,F00G 3F04!G I 
H H=I H>I L"L0A"K-K--L:LL2MMM/GETPOST)methodsc                     g } g }t           j                            d          }d t          j        |          D             }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 ]}|                                 t1          d| r| nd |          S )N.c                 <    g | ]}|                     d           |S )r	   )endswith).0fs     rF   
<listcomp>zindex.<locals>.<listcomp>j   s)    LLLqF9K9KLLLL    rJ   network_ranges,r   r   r   )targetargsu   Chybný formát rozsahu: zInvalid ranger   r   z
index.html)r8   	log_files)ospathabspathlistdirr   methodformsplitint	threadingLockr*   	ipaddress
ip_networkhostsr5   ThreadrG   r6   start
ValueErrorr/   r2   joinr   )r8   rX   log_directoryrT   r   r   r   threadsresults_locknetworknetr   ip_strthreaderror_messages                  rF   indexrr   c   s   GI GOOC((MLLBJ}55LLLI~ &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gTZ[[\\\m,,,,,-  	 	FKKMMMM<G1MYbccccs   )BE..<F-,F-)Responsez/logs/<filename>c                 "   	 t           j                            t          j                    |           }t	          |d          5 }|                                }d d d            n# 1 swxY w Y   t          |d          S # t          $ r Y dS w xY w)Nr   z
text/plain)mimetype)zLog file not foundi  )rY   rZ   ri   getcwdr+   r'   rs   FileNotFoundError)r
   log_file_pathr@   log_contents       rF   view_logrz      s    )RY[[(;;-%% 	&))++K	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& l;;;; ) ) )((()s6   AB  A$B  $A((B  +A(,B   
BB__main__T)debug)rY   ra   r/   r   flaskr   r   r   r   r!   rc   __name__appAIROS_SCRIPTr,   AIROS8_SCRIPTr.   
ARM_SCRIPTnowstrftimelog_filenamebasicConfigINFOrG   routerr   rs   rz   run rS   rF   <module>r      s   				            F F F F F F F F F F F F     eHoo !"""
 I!8!8!B!BHHH  
,6   B B BL 3((#d #d )(#dL      ) ) ) zGG$G rS   