
    !zj]              
          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m	Z	 d dl
mZ d dlmZ  ej                  d        e       Zej!                         Z e       Zej'                         d    j)                         Zej'                         d   j)                         Z e eed d        eedd	        eed	d
        eed
d             Z e eed d        eedd	        eed	d
        eed
d             Z ej4                  eed      D  cg c]  } | j7                  d       c} ddd   Zej8                  j;                  ded    ed      Zd Zd Z d Z!d Z" ejF                  e      d        Z$d Z%yc c} w )    N)urlopen)datetime	timedelta)MonitoringAppDates)MonitoringAppTexts
texteditor            
   6h)freq%Y%m%d%HDate   )namevalueoptionswidthc                 ~    t        |       }|j                         }|j                  d      }|j                          |S )Nzutf-8)r   readdecodeclose)logopen_logcontents_logdecoded_lines       5/home/carlos/GitHub/SMNAMonitoringApp/monitor_logs.pyopenFiler!      s6    s|H==?L&&w/LNN    c                     t        j                  t        |       d      }|t        |      z   }t        |j	                  d            S )Nr   )hours)r   strptimestrr   strftime)datedeltadatefcts      r    calcDater+   $   s=    D	:6G	..Gw
+,,r"   c                     	 t        j                  | dd      }|j                  dk(  S # t         j                  j                  $ r Y yw xY w)N   T)timeoutallow_redirects   F)requestsheadstatus_code
exceptionsRequestException)urlresponses     r    check_url_existsr8   )   sH    ==aF##s**// s   &) A	A	c           
           t         j                  j                          fd}t        j                  j                  ddt               r|nd dt                      S )Nc                  H   	 t        j                  d      } | j                          t        d      5 }|j	                  | j
                         d d d        S # 1 sw Y   S xY w# t         j                  j                  $ r}t        d d|        Y d }~y d }~ww xY w)Nr   )r.   wbu   ❌ Error downloading file z: )	r1   getraise_for_statusopenwritecontentr4   r5   print)r7   fe	log_locallog_urls      r    log_downloadz,create_download_button.<locals>.log_download3   s    
	||GR8H%%'i& *!(()* * ""33 	/	{"QC@A	s4   3A) A	A) A&!A) &A) )B!BB!downloadsuccessi6  )iconbutton_typecallbackfilenamer   disabled)ospathbasenamepnwidgetsFileDownloadr8   )rE   rF   rD   s   ` @r    create_download_buttonrT   0   s]      )I ::""!1'!:%g.. #  r"   c                 ^   t        | t        d            }t        | t        d            }d|  dd|  d| dd|  d| dd|  dd	}g }|j                         D ]  \  }}t        j                  j                  |      }t        |      r^t        |      }t        j                  t        j                  j                  |d
dd      dddt        d      d      }	t        |      }
n't        j                  j                  d| dd      }	d }
|j                  |t        j                  d| d|	|
      f        t        j                  d      }t        j                  |t        j                   dt        j                   |ddifdt        j                   |ddifd      t"        d       S )!N	   i  zdhttps://dataserver.cptec.inpe.br/dataserver_dimnt/das/carlos.bastarz/SMNAMonitoringApp/logs/gsi/gsi_z.logzhhttps://dataserver.cptec.inpe.br/dataserver_dimnt/das/carlos.bastarz/SMNAMonitoringApp/logs/model/model_.zdhttps://dataserver.cptec.inpe.br/dataserver_dimnt/das/carlos.bastarz/SMNAMonitoringApp/logs/pos/pos_zdhttps://dataserver.cptec.inpe.br/dataserver_dimnt/das/carlos.bastarz/SMNAMonitoringApp/logs/pre/pre_)GSIMODELPOSPRE10ptz120%)z	font-sizezline-height)stylesr   T
WhiteSmoke)
backgroundi  )auto_scroll_limitview_latestscrollr]   heightu;   🛑 **Error:** Log file is not available. File name is **`z` (check_url_exists)**.danger)
alert_typez	Log from z run.zd
    # Full Logs

    Navigate trough the tabs below to visualize the logs from the latest run.
    XC50dynamicEgeon)rg   stretch_width)sizing_mode)r+   intitemsrN   rO   rP   r8   r!   rQ   ColumnpaneStrdictrT   AlertappendTabsmonitor_warning_bottom_main)r(   datemfctdatepfctlogstabsr   rE   rD   read_loglog_displaydownload_button	main_texts               r    showLogsr}   I   s   c!f%Hc#h'H vvzu{{  A{  }A  |B  BC  DL  CM  MQ  Ruvzu{{|  ~F  }G  GK  Luvzu{{  A	D D ^gGG$$W-	G$(H))H6RX-YZ"$ |4K 5W=O''--*efoep  qH  )I  V^-  _K"OT299ye%<k?[\]-^0 		  	I 99YGG$556"''4667 (') )r"   c            	          t        j                  t        j                  t        t         j                  j                  dd            dd      } t        j                  |       S )NzChoose a datestart)r   align
ParametersF)title	collapsed)rQ   CardRowr(   rR   TooltipIconrm   )card_parameterss    r    LayoutSidebarr   }   sL    ggbffT2::+A+A_f+A+ghp|  IN  OO99_%%r"   )&rN   r1   panelrQ   pandaspdurllib.requestr   r   r   monitor_datesr   monitor_textsr   	extensionmonitor_app_textswarningsrt   monitoring_app_datesgetDatesstripsdateedaterk   
start_dateend_date
date_ranger'   rR   Selectr(   r!   r+   r8   rT   dependsr}   r   )ds   0r    <module>r      s   
    " ( , , \  '( /88: )+ %%'*002%%'*002c%!*os51:E!AJUSTUW[IYZ
Ca
OSq_c%!*os5QRSU;GWX.;bmmJW[.\]ajj$]^b`b^bc
	zzfJqM:UXY-
2 D1) 1)f&G ^s   E=