
    8j                        d Z ddlZddlmZmZmZ ddlmZ ddlmZm	Z	 ddl
mZ ej                  j                  ej                  j                  e            Z eej                  j#                  ed            Zed   Zej                  j)                  e      sej                  j#                  ee      Z ee      D  cg c]  } | j*                  s|  c} Z ee      Zed	   Z ej2                  ej4                         ee
      z
  Z ed ee       de dej<                   d        edej>                  rdnd d       dg cZ Z!eD ],  Z"	 ejG                  e"jH                  ed      Z%ejL                  jO                  e"jH                  jQ                  d      i       Z)e)jO                  d      Z*e*re*jW                         jY                  d      ndZ-e%r=e dz  Z  ede"jH                  dd ee%      dde de- d e%d   j\                  d!
       nbe)jO                  d"      r5e!j_                  e"jH                          ed#e"jH                  dd$e-        n ed%e"jH                  dd&e de-        /  ed(e  d) ee       d*+        ee!rd,d-j#                  d. e!D               nd*       e!r	 ed/       yyc c} w # e	$ r$Z0 ed'e"jH                  dde0        Y dZ0[0dZ0[0ww xY w)0uK  Prueba EN VIVO del proveedor 'syndication' contra X (usa tu conexión a internet).

Ejecuta:  .venv/bin/python run_real.py

Para cada cuenta activa muestra:
  ✅ frescas (con tweets en la ventana)   🟠 caché viejo de X   ➖ sin novedades   ❌ error
Si ves muchos '❌ rate-limit (429)', espera unos minutos: X limita por IP.
    N)datetime	timedeltatimezone)load_config)SyndicationProviderSyndicationError)load_accountszconfig.yamlaccounts_pathwindow_hours)hoursz	Probando u    cuentas · ventana u   h · pausa zs/cuentazcache-bust: ONOFFu&    · ~6s por cuenta (≈1 min para 10)
2   )sincelimit@newestz%Y-%m-%d %H:%Mu   —   u   ✅ @13 2z en u   h | último: u
    | top ❤,staleu   🟠 @u'    CACHÉ VIEJO de X     | último dato: u   ➖ @z sin novedades en u   ❌ @z

Frescas: / )endu    · caché viejo: z, c              #   &   K   | ]	  }d |z     yw)r   N ).0hs     run_real.py	<genexpr>r"   2   s     $EnS1Wns   uO   Si el cache-bust no las desatasca, hace falta una 2ª fuente para esas cuentas.)1__doc__osr   r   r   agent.configr   agent.providers.syndicationr   r   agent.storer	   pathdirnameabspath__file__HEREjoincfgr
   isabsenabledaccountsproviderwindownowutcr   printlendelay
cache_bustfreshstale_accountsafetch_user_tweetshandletweets	last_metagetlstripmetar   
astimezonestrftime
newest_strlikesappende)r<   s   0r!   <module>rJ      s   
 2 2 $ M %	wwrwwx01"'',,t]34O$	ww}}]#GGLL}5M$]3A3!qyyA3As#	^	X\\"YV%<< 	#h- 4VHKGWW_` a X00Te<<cd e2 ~	A)++AHHE+L!!%%ahhooc&:B?(#GMV&&(112BCSX
QJEE!((2aFAd6(-PZ|[eflmnfofufuvwexyzXXg!!!((+F188B-'Nzl[\E!((2&8j\Z[ 
" E7!CM?+ 4 >499$En$EEFG_a b	
[\ 9 B.  )ahhr]!A3'(()s%   KKD(KK5K00K5