
    m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	  e	       Z
e
j                         Z G d d      Zy)    N)HTMLTemplateFormatter)MonitoringAppTextsc                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)MonitoringAppCStatusc                 X    t        j                  d       t        j                  d       y )N
floatpanel	tabulator)pn	extension)selfs    8/home/carlos/GitHub/SMNAMonitoringApp/monitor_cstatus.py__init__zMonitoringAppCStatus.__init__   s    
\"
[!    c                    t         j                  j                  dd      }t        j                  t        j                  t         j
                  j                         |t         j
                  j                                     }|S )Nz&img/logo_mcti_vertical_positiva_02.pngi,  widthr
   panePNGColumnRowlayoutHSpacer)r   	inpe_logo	logo_inpes      r   LogoINPEzMonitoringAppCStatus.LogoINPE   s_    GGKK HPSKT	II))##%))##%	 r   c                    t         j                  j                  dd      }t        j                  t        j                  t         j
                  j                         |t         j
                  j                                     }|S )Nzimg/cptec.pngd   r   r   )r   
cptec_logo
logo_cptecs      r   	LogoCPTECzMonitoringAppCStatus.LogoCPTEC   s]    WW[[[<
YY))##%))##%
 r   c                    t         j                  j                  dd      }t        j                  t        j                  t         j
                  j                         |t         j
                  j                                     }|S )Nzimg/gsimonitor.png   r   r   )r   gsimonitor_logologo_gsimonitors      r   LogoSMNAMonitoringAppz*MonitoringAppCStatus.LogoSMNAMonitoringApp&   s^    ''++&:#+F))))##%!))##% r   c           	         | j                         f}| j                         f}t        j                  t        j                  t        j
                  j                         |t        j
                  j                               t        j                  t        j
                  j                         |t        j
                  j                                     }t        j                  |      S )N)r   r!   r
   r   r   r   r   )r   r   r   logoss       r   LayoutSidebarz"MonitoringAppCStatus.LayoutSidebar0   s    MMO$	^^%&
		))##%))##%
 ))##%))##%
 yyr   c           
      <   d| _         	 t        j                  | j                   dd      }|j                  dk\  r;t	        d| j                    d|j                   d       t        j                         n7t	        d	| j                           t        j                  | j                         t        d      t        d      t        d      t        d      d}d}t        j                  j                  ddddd|g|      }t        j                  j                  ddddd|g|      }fd}t        j                  j                  d|ddd      }t        j                  j                  d      }	t        j                  j                  d      }
t        j                   |	t        j"                  d|fd|fd      ||
t$        d !      S # t        j                  $ r:}t	        d
| j                    d|        t        j                         Y d }~id }~ww xY w)"Nzdhttps://dataserver.cptec.inpe.br/dataserver_dimnt/das/carlos.bastarz/SMNAMonitoringApp/logs/logs.csvT   )allow_redirectstimeouti  u,   ❌ [CURRENT STATUS] Logs não encontrados: z	 (status )u'   ✅ [CURRENT STATUS] Logs acessíveis: u(   ⚠️ [CURRENT STATUS] Erro ao acessar z: z<code><%= value %></code>)template)z
Action GSIz
Action PREzAction MODELz
Action POSzJ
        .tabulator-cell {
            font-size: 12px;
        }
        F
bootstrap4centertoggle)
show_indexdisabledtheme
text_align
selectablestylesheets
formattersc                  x    t        j                         } j                  | d       | j                  d       | S )NF)indexr   )ioBytesIOto_csvseek)	io_bufferdfs    r   get_csvz0MonitoringAppCStatus.LayoutMain.<locals>.get_csvq   s0    

IIIiuI-NN1r   downloadzcurrent_status.csvsuccessi6  )iconcallbackfilenamebutton_typer   zs
        # Current Status
        Check the current status from the operational system in the table below.
        zq
        **Legend:**
        * **A** = Awaiting
        * **C** = Completed
        * **P** = Processing
        XC50Egeon)dynamicstretch_width)sizing_mode)logsrequestsheadstatus_codeprintpd	DataFrameread_csvRequestExceptionr   r
   widgets	TabulatorFileDownloadr   Markdownr   Tabsmonitor_warning_bottom_main)r   responseelink_formatters
stylesheet	cs_table1	cs_table2rB   file_downloadwelcomeText1welcomeText2rA   s              @r   
LayoutMainzMonitoringAppCStatus.LayoutMainA   s   z	
	 }}TYYaPH##s*DTYYKyYaYmYmXnnopq\\^?		{KL[[+ 09TU/9TU1;VW/9TU	

 JJ(( "##'L* ) ,	 JJ(( "##'L* ) ,		 

//' 0 
 ww'' ) 
 ww'' )  yyrww	/BWiDXbf'giv  yE  Gb  p  @  	@} (( 	 <TYYKr!MNB	 s   B#G H!/HHN)	__name__
__module____qualname__r   r   r!   r&   r)   rf    r   r   r   r      s"    "	 "J@r   r   )rO   pandasrS   panelr
   r<   bokeh.modelsr   monitor_textsr   monitor_app_textswarningsr\   r   rj   r   r   <module>rq      s=       	 . ,&( /88: @ @r   