
    i              	           d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 ddlmZ ddlmZmZmZ dd	ed
ededefdZd	ed
edefdZy)    )Table)Console)Live)box)internet_managerget_key   )
StreamInfo)get_audio_codec_nameget_video_codec_nameget_codec_typeselectedcursorwindow_sizehighlight_cursorc                    t        t        j                  dddd      }g d}|D ]  \  }}|j                  |||dv rdnd	
       ! t	        |       }	t        d|dz        }
t        d||
z
        }t        |	||z         }||z
  |k  rt        d||z
        }|dkD  r|j                  dddddddddddd       t        ||      D ]  }| |   }|}||v }||k(  xr |}|j                  }|dv rd}|rd}n|dz  dk(  rdnd}d}d|j                  v r^|j                  j                  d      D ]?  }t        |      dk(  r|dt        |       z  }#t        |      dk(  s2|t        |      z  }A n[t        |j                        dk(  rt        |j                        }n-t        |j                        dk(  rt        |j                        }|j                  t        |dz         |j                    |j"                  xs dt        |j$                        |rdnd|j                   dk(  r|j&                  nd|||j(                  xs d|j*                  xs d|j,                  dkD  r!t/        j0                  |j,                  d      ndt        |j2                        |        ||	k  r|j                  dddddddddddd       |S )z'Build and return the current table viewTcyanblue)r      )r   show_headerheader_styleborder_stylepadding))#r   )Typer   )Extmagenta)Methodred)Selgreen)
Resolutionyellow)Bitrater#   )Codecr!   )Languager   )Namer!   )Durationr   )Segmentswhite)r   r)   rightleft)stylejustifyr   r	   r   z... )z0 bpsN/Azbold white on bluedimN,Audioz, VideoX)	add_hoursr0   )r-   )r   r   ROUNDED
add_columnlenmaxminadd_rowrange	bandwidthcodecsplitr   r   r   strtype	extensionsegments_protection
resolutionlanguagenametotal_durationr   format_timesegment_count)streamsr   r   r   r   tablecolscolcolortotalhalfstartendvisible_idxsidxis_selected	is_cursorbitrater-   readable_codecs	raw_codecs                         X/home/nidran/Documenti/script/streaming-community/StreamingCommunity/source/N_m3u8/ui.pybuild_tabler]      s    KKED  d
UEcEV>V7\bcd LEq+"#D6D=!E
eU[(
)C
U{[ As[()qyeRRRRRRHUC( *
,XoF]8(8	++&&G(E 1W\EtE !''>WW]]3/ G	!),7#,@,K+L'MMO#I.'9#';I'FFO	G agg&'1"6qww"?(G3"6qww"?aLvvhKK2%%&CBFFg-ALL2JJ"FFLbNON^N^abNb(()9)9TJhm  	 	
9*
X U{eRRRRRRHL    c           	         t               }||d}d}t        t        | |d   |d   |      |dd|d      5 }|d   }	t        |d         }
	 t	               }||d
k(  r|d   dz
  t        |       z  |d<   n|dk(  r|d   dz   t        |       z  |d<   no|dk(  s|dk(  r
	  ||       n[|dk(  r"|d   |d   v rL|d   j                  |d          n4|dk(  r t        t        |d               cd	d	d	       S |dk(  r
	 d	d	d	       y	|d   |	k7  s|d   |
k7  r8|j                  t        | |d   |d   |      d       |d   }	t        |d         }
# t        $ r Y Tw xY w# 1 sw Y   y	xY w)zRun interactive live selector.)r   r   r	   r   r   FcropT)refresh_per_secondauto_refreshvertical_overflowconsole	transientNUPr   DOWNSPACERIGHTLEFTENTERESC)refresh)r   r   r]   setr   r9   	Exceptionremovesortedlistupdate)rK   r   r   r   toggle_callbackrd   staterefresh_ratelivelast_cursorlast_selectedkeys               r\   run_selectorr{   j   s   iG84EL	k'5#4eHo{Sht  DI  ]c  mt  @D  
E 7  IMHoE*-.)C{d{#(?Q#6#g,"Fh#(?Q#6#g,"Fh3'>#E* ?eJ&77*%,,U8_=d5#456/7 70 37 76 X+-z1Bm1SKz1BE(OU`akop#Ho #E*$5 65  ! #7 7s>   A&EE	$AE1E A	E		EEEEE!N)   T)
rich.tabler   rich.consoler   	rich.liver   richr   StreamingCommunity.utilsr   r   utils.objectr
   utils.trans_codecr   r   r   rn   intboolr]   r{    r^   r\   <module>r      se         ? & Z ZT3 T T# T^b Tn$7C $7 $73 $7r^   