
    gip                     T    d dl Z d dlZd dlmZ  ej                  d      ZdedefdZy)    N)settingszagrota-audio-handlermedia_idreturnc                   K   	 t         j                  }|st        j                  d       yt        j	                  d|  d|dd  d       t         j
                   dt         j                   d|  }d	d
|j                          i}t        j                         4 d{   }t        j	                  d|         |j                  ||       d{   }|j                          |j                         }|j                  d      }|st        d      t        j	                  d       |j                  ||       d{   }|j                          |j                  }	t        j	                  dt         j                          dd|	dfi}
|j!                  t         j                  |
d       d{   }|j                          |j                         }|j                  d      xs8 |j                  d      xs% |j                  d      xs |j                  dd      }|s*t        j#                  d|        	 ddd      d{    yt        j	                  d|dd  d       |cddd      d{    S 7 7 7 D7 7 ?7 # 1 d{  7  sw Y   y!xY w# t$        $ r"}t        j                  d|        Y d}~y d}~ww xY ww)"zQ
    Descarga un audio de WhatsApp y lo transcribe usando el servicio de IA.
    u:   ❌ WHATSAPP_ACCESS_TOKEN no encontrado en configuración.u(   [Configuración incompleta: falta Token]u'   ⏳ Obteniendo info de media WhatsApp: z | Token Prefix: N   z.../AuthorizationzBearer u(   ⏳ Consultando info de media WhatsApp: )headersurlz0No se pudo obtener la URL de descarga del audio.u#   ⏳ Descargando archivo de audio...u   ⏳ Enviando a transcribir: filez	audio.oggzapplication/octet-streamg      >@)filestimeouttexttranscriptiontranscripcion	resultado u-   Transcripción vacía o formato desconocido: z![Audio sin contenido inteligible]u   ✅ Transcripción exitosa: 2   u&   ❌ Error en transcripción de audio: z[Error al procesar el audio]z/[Error inesperado en el procesamiento de audio])r   WHATSAPP_ACCESS_TOKENloggererrorinfoWHATSAPP_API_BASE_URLWHATSAPP_API_VERSIONstriphttpxAsyncClientgetraise_for_statusjson
ValueErrorcontentTRANSCRIPTION_API_URLpostwarning	Exception)r   tokenmedia_info_urlr
   clientresponse
media_datadownload_urlaudio_responseaudio_bytesr   transcribe_responseresultr   es                  ;/opt/agrota/powerbi/client-mcp/agent/utils/audio_handler.pytranscribe_whatsapp_audior3      s    6...LLUV==hZGXY^_a`aYbXccfgh$::;1X=Z=Z<[[\]e\fgwu{{}o6
 $$& $	 $	&KKB8*MN#ZZZHHH%%'!J%>>%0L !STT KK=>#)::lG:#LLN++-(00K KK6x7U7U6VWXk;8RSTE(... )4 ) #
  002(--/F ::f%  CO)D  C

SbHc  Cgmgqgqr}  @B  hCD!NvhWX:C$	 $	 $	F KK6tCRykEFI$	 $	 $	H M#)$	 $	 $	 $	 $	T =	  .=aSAB-.s   K'J! KA2J! I=J! "/JJ A-J?J A2J2J3B
J=J! J	J! KJ+J! 7J
8J! <K=J!  JJJJ! 
J! JJJJ! KJ! !	K*KKKK)r   loggingconfig.settingsr   	getLoggerr   strr3        r2   <module>r:      s4      $			1	2<=c <=c <=r9   