o
    
‹çg!  ã                   @   sŽ   d dl mZmZ d dlmZ d dlZd dlZeƒ Zejej	d� e 
e¡ZdZe d¡defdd	„ƒZed
krEd dlZejeddd� dS dS )é    )ÚFastAPIÚHTTPException)ÚFileResponseN)Úlevelz/var/www/html/wordnet/audioz/audio/{word_id_str}Úword_id_strc                 C   s¼   |   d¡} zt| ƒ}W n ty   tddd�‚w tj t|› d�¡}tj |¡}tj 	|¡}t
 d|› d|› �¡ | t¡rA|sGtddd�‚t
 d	|› �¡ d
|› d�ddœ}t||d�S )z- Serve a WAV audio file with forced download z.wavi�  zInvalid word ID format)Ústatus_codeÚdetailzChecking file: z	 exists: i”  zAudio file not foundzServing file: zattachment; filename=z	audio/wav)zContent-DispositionzContent-Type)Úheaders)ÚremovesuffixÚintÚ
ValueErrorr   ÚosÚpathÚjoinÚ	AUDIO_DIRÚabspathÚexistsÚloggerÚinfoÚ
startswithr   )r   Úword_idÚ	file_pathr   r	   © r   ú/var/www/html/wordnet/app1.pyÚ	get_audio   s"   
ÿ
þr   Ú__main__z0.0.0.0i¸  )ÚhostÚport)Úfastapir   r   Úfastapi.responsesr   r   ÚloggingÚappÚbasicConfigÚINFOÚ	getLoggerÚ__name__r   r   ÚgetÚstrr   ÚuvicornÚrunr   r   r   r   Ú<module>   s    
!þ