Ë
    è?ti)  ã            
       ó`   — d dl Z d dlmZ d dlmZ dedefd„Zdedefd„Zd	ed
edede	def
d„Z
y)é    N)ÚOptional)Úmake_media_tokenÚnameÚreturnc                 ó`   — | xs dj                  dd«      j                  dd«      } | r| d d S dS )NÚ ú\Ú_ú/éÈ   z
upload.mp4)Úreplace)r   s    ú,/var/www/html/luxverbi-app/services/media.pyÚsafe_filenamer      s8   € ØŠJ�B×Ñ  cÓ*×2Ñ2°3¸Ó<€DÙˆ4��ˆ:Ð/ <Ð/ó    Úpathc                 óÐ   — 	 ddddddd| g}t        j                  |t         j                  ¬«      j                  d	«      j	                  «       }t        |«      S # t        $ r Y y
w xY w)z
    Best-effort duration check using ffprobe. If ffprobe isn't installed,
    returns -1 and duration checks are skipped.
    Úffprobez-vÚerrorz-show_entrieszformat=durationz-ofz"default=noprint_wrappers=1:nokey=1)Ústderrzutf-8g      ð¿)Ú
subprocessÚcheck_outputÚSTDOUTÚdecodeÚstripÚfloatÚ	Exception)r   ÚcmdÚouts      r   Úvideo_duration_seconds_ffprober      sp   € ð
àØØØØØØ0Øð	
ˆô ×%Ñ% c´*×2CÑ2CÔD×KÑKÈGÓT×ZÑZÓ\ˆÜ�S‹zÐøÜò Ùðús   ‚AA Á	A%Á$A%Ústored_filenameÚpublic_base_urlÚsigning_secretÚttl_secondsc                 óJ   — t        | ||¬«      }|j                  d«      › d|› �S )zr
    Create a signed URL that TikTok can pull from.
    stored_filename must be a filename inside UPLOAD_DIR.
    )ÚfilenameÚsecretr#   r   z/media/)r   Úrstrip)r    r!   r"   r#   Útokens        r   Úbuild_public_media_urlr)   #   s6   € ô Ø ØØô€Eð
 ×$Ñ$ SÓ)Ð*¨'°%°Ð9Ð9r   )r   Útypingr   Úmedia_tokensr   Ústrr   r   r   Úintr)   © r   r   ú<module>r/      si   ðã Ý å )ð0˜ð 0 ó 0ð
¨ð °ó ð,:àð:ð ð:ð ð	:ð
 ð:ð 	ô:r   