
    i                         d Z ddlZddlZddlmZ ddlZdZd Zd Zd Ze	dk(  r		  e        yy# e
$ rZ ed	e        Y dZ[ydZ[ww xY w)
u-   Monitoring IA en temps réel - Version simple    N)datetimezdashboard_stdout.txtc           	      N    ddddddddd	}|j                  |d
       |  |d    S )z Coloriser le texte pour terminalz[91mz[92mz[93mz[94mz[96mz[97mz[90mz[0m)redgreenyellowbluecyanwhitegrayreset r   )get)textcolorcolorss      ./monitor_ia.pycolorizer      sI     	F jj#$TF6'?*;<<    c                  b    t        j                  t         j                  dk(  rd       y d       y )Nntclsclear)ossystemname r   r   clear_screenr      s    IIrww$e4G4r   c                  	   t                t        t        dd             t        t        dd             t        t        dd             t        t        dt         d             t        t        dt	        j
                         j                  d	       d
d             t        t        dd             d} d}t        j                  j                  t              r>t        t        ddd      5 }|j                  dd       |j                         } d d d        	 	 t        j                  d       t        j                  j                  t              s;t        t        ddd      5 }|j                  |        |j                         }|j                         } d d d        D ]  j!                         t	        j
                         j                  d	      }dv rdv rt#        j$                  d      }|r|dz  }t        t        dd             t        t        d|j'                  d       d|j'                  d       d|j'                  d       dd      t        dd      z          t        t        dd             dv sdv rt#        j$                  d       }|rt        t        d!d"      t        |j'                  d       d#|j'                  d       d      z   t        d$d%      z   t        |j'                  d      d      z   t        d&d%      z   t        |j'                  d'       d(d      z          d)j)                         v rRd*j)                         v r@t#        j$                  d+      }|r(t        t        d,|j'                  d       d-d             d.v sd/v rxt#        j$                  d0      }|r`t        t        d1d      t        |j'                  d       d(d      z   t        d2d      z   t        |j'                  d       d3d      z          t+        fd4d5D              sd6vst        t        d7j-                  d8      dz   d  d d9  d:              	 X# 1 sw Y   cxY w# 1 sw Y   xY w# t.        $ r t        t        d;d             Y y t0        $ r7}t        t        d<| d:             t        j                  d=       Y d }~vd }~ww xY w)>NzG
======================================================================r	   u0                🤖 SURVEILLANCE IA EN TEMPS RÉELr   zG======================================================================
u   📡 Monitoring: r   u   ⏰ Démarré: z%H:%M:%S
r   zG----------------------------------------------------------------------
r   rzutf-8ignore)encodingerrors      z
CYCLE IA #Analysez0CYCLE IA #(\d+).*?(\d+:\d+:\d+).*?(\d+) symbolesuI   
╔==================================================================╗u   ║  🔄 CYCLE #z -    z	 symbolesu
          ║uH   ╚==================================================================╝	Resultatsu
   Résultatsz)(\d+)/(\d+).*?(\d+) signaux.*?(\d+\.\d+)su     📊 Analysé: r   /z | Signaux: r
   u    | Durée:    s
opportunittectz(\d+) opportunitu     🎯 u    OPPORTUNITÉ(S) DÉTECTÉE(S)!TERMINTERMINEz#CYCLE #(\d+).*?(\d+\.\d+)s.*?(\d+)su     ✅ Terminé en z - Prochain dans zs
c              3   &   K   | ]  }|v  
 y w)Nr   ).0xlines     r   	<genexpr>zmonitor.<locals>.<genexpr>c   s     NQqDyNs   )ERRORERREURu   ❌CRASHperformance_analyzeru     ❌ ]P   r   u   

👋 Monitoring arrêté
u   ⚠️  Erreur:    )r   printr   LOG_FILEr   nowstrftimer   pathexistsopenseektelltimesleep	readlinesstripresearchgrouploweranyfindKeyboardInterrupt	Exception)last_poscycle_countf	new_lines	timestampmatcher3   s          @r   monitorrX      s   N	(=&
)*	(Ew
OP	(=&
)*	(&xj18
<=	(_X\\^%<%<Z%H$ILf
UV	(=&
)*HK	ww~~h(C'(C 	 qFF1aLvvxH	  <	JJqM77>>(+hghG $1x KKM	668$
 " *Xzz|$LLN33J?	  4'I,=II&Y[_`E#q(h'?HIh):5;;q>:J#ekkZ[nM]]`afalalmnao`ppy'z  }E  F  IQ  R^  `f  Ig  g  hh'=vFG $&,$*>II&RTXYEh):VD&%++a.)95;;q>:J'KWUV&@A 'u{{1~x@A 'w?	@
 '%++a.)9';VDE F  4::</Fdjjl4JII&94@EhQ0@@_'`bijk t#yD'8II&LdSEh);gF&%++a.)9';VDE&):VDE '%++a.)9'=xHI J N*MNN-T9hTYYs^A5E5F0G0L/M'NPUVWU*X 		  	 $ $b ! 	(;XFG 	(-aS159:JJqMM	sU   0#Q48R R )2RJR 8R >3R 4Q>RR S-.S-6-S((S-__main__u   ❌ Erreur fatale: )__doc__rE   r   r   rI   r=   r   r   rX   __name__rP   rW   r<   r   r   r   <module>r\      sh    3  	  	!=5Pd z)	   )#A3'(()s   / A	AA	