
    ۾h              	       V   d dl Z d dlZd dlZd dlZd dlmZmZ d dlmZ ej                  j                  ej                  j                  e            Zej                  j                  e      Zej                  j                  e      Zej                  j!                  eddd      Zej                  j%                  e      r ee        e j&                  de        n e j(                  de         ej*                  d	      Zdd d
ZdZdefdZdefdZddededeeef   fdZy)    N)DictAny)load_dotenvcrmconfiguracionesz.envz%Variables de entorno cargadas desde: u$   No se encontró el archivo .env en: X_TOKEN)tweets	timestampiH  returnc                  n    t        j                          } | t        d   z
  }t        d   d uxr	 |t        k  S )Nr
   r	   )time
cache_dataCACHE_DURATION)current_time	cache_ages     L/var/www/dev.api.imparables.com.co/api_imparables/landing/comunidad/redes.pyis_cache_validr      s;    99;Lz+66Ix , '&(    c                  D    t        j                          t        d   z
  dz  S )Nr
   <   )r   r    r   r   get_cache_age_minutesr   &   s    IIK*[11R77r   user_idmax_resultsc                 ~   t               r-t               }t        j                  d|dd       t        d   S t        j                  d|         t
        st        d      	 ddt
         i}d	|  d
}|ddd}t        j                  |||d      }|j                  dk(  rt        d      |j                  dk(  rt        d      |j                  dk(  rt        d|  d      |j                  dk7  rt        d|j                         |j                         }|j                  dg       }|st        d|  d      ||j                  d      d}	|	t        d<   t        j                         t        d<   t        j                  dt        |       d |         ||j                  d      dS # t        j                  j                  $ r t        d!      t        j                  j                  $ r}
t        d"t!        |
             d }
~
wt        $ r'}
t        j"                  d#t!        |
               d }
~
ww xY w)$Nu   📦 Usando caché (edad: z.1fz min)r	   u$   🔄 Obteniendo tweets frescos para u   X_TOKEN no está configuradoAuthorizationzBearer z https://api.twitter.com/2/users/z/tweetsz'url,preview_image_url,type,width,heightzattachments.media_keys)r   zmedia.fields
expansions
   )headersparamstimeouti  uP   ⏰ Límite de Twitter alcanzado. Espera 15 minutos antes de la próxima prueba.i  u*   🔑 Token de Twitter inválido o expiradoi  u   👤 Usuario con ID z no encontrado   u"   ❌ Error obteniendo tweets: HTTP datau   📭 Usuario z no tiene tweets disponiblesincludes)datosr$   r
   u   ✅ z tweets obtenidos para usuario u3   ⏱️ Timeout conectando con Twitter (10 segundos)u   🌐 Error de conexión: zError en obtener_tweets: )r   r   logginginfor   r   	Exceptionrequestsgetstatus_codejsonr   len
exceptionsTimeoutRequestExceptionstrerror)r   r   r   r   
tweets_urlr    tweets_responsetweets_data
all_tweetsresultes              r   obtener_tweetsr9   )   s?    )+	1)CFG(## LL7yAB6772"ggY$78 8yH
&E2
 #,,z76[]^ &&#-noo&&#-HII&&#-27)>JKK&&#-@A\A\@]^__ &**, __VR0
mG94PQRR  #
3

  &
8"&))+
;tC
O,,KG9UV#1LMM&& OMNN// >3CF8<== 1#a&:;s&   "EF. .AH<2H		H<"H77H<)   ) r&   osr   r)   typingr   r   dotenvr   pathdirnameabspath__file__
script_dirlanding_dirroot_dirjoinenv_pathexistsr'   warninggetenvr   r   r   boolr   floatr   r1   intr9   r   r   r   <module>rM      s    	     WW__RWW__X67
ggooj)77??;'77<<%):FC77>>(GLL8
CDGOO:8*EF
"))I
 

 ( (8u 8@C @c @$sCx. @r   