+
    Æ`j‰	  ã                   óø  € R t ^ RIHt ^ RIHtHtHtHt ^ RIH	t	 ^ RI
t
^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ R	IHt ]! 4       t]P/                  R
4      ]! ^^R7      ]! ^^^dR7      ]! R4      ]! R4      ]! ]4      3R R ll4       t]P/                  R4      ]! ]4      3R R ll4       t]P5                  R4      ]! ]4      3R R ll4       t]P/                  R4      ]! R4      ]! ]4      3R R ll4       tR# )uˆ   
Generated Videos â€“ list, detail, download, delete.
Download uses the Authorization header (passed as query param for browser links).
)ÚOptional)Ú	APIRouterÚDependsÚQueryÚHTTPException)ÚFileResponseN)Úrequire_auth)Úvideos_store)ÚokÚerr)Úcfg)Úverify_tokenÚ/)Úge)r   Úlec          
      ó€   € V ^8„  d   QhR\         R\         R\        \        ,          R\        \        ,          R\        /# )é   ÚpageÚper_pageÚsearchÚstatusÚ_)Úintr   Ústr)Úformats   "ÚCD:\Python_Codes\gen_ai\new\gols-v2-new\backend\app\routes\videos.pyÚ__annotate__r      sB   € ÷ ñ Ü
ðäðô ”S�Mðô ”S�Mð	ô
 ñó    c              ƒ   ón   "  € \         P                  ! V'       d   R V/MRVR.WR7      p\        V4      # 5i)r   NÚtitle)Úfiltersr   Úsearch_fieldsr   r   )r	   Úlistr
   )r   r   r   r   r   Úresults   &&&&& r   Úlist_videosr$      s9   é € ô ×Òß&,�˜6Ñ"°$Ø g YØô€Fô
 ˆf‹:Ðùs   ‚35z/{vid}c                ó0   € V ^8„  d   QhR\         R\         /# ©r   Úvidr   ©r   )r   s   "r   r   r   #   s   € ÷ 1ñ 1œð 1¤ñ 1r   c              ƒ   ót   "  € \         P                  ! V 4      pV'       d   \        V4      # \        R R4      # 5i)ú	Not foundé”  )r	   Úgetr
   r   )r'   r   Úvs   && r   Ú	get_videor.   "   s-   é € ä×Ò˜Ó€AßŒ2ˆa‹5Ð0œ3˜{¨CÓ0Ð0ùs   ‚68c                ó0   € V ^8„  d   QhR\         R\         /# r&   r(   )r   s   "r   r   r   )   s   € ÷ Vñ VœCð V¤Cñ Vr   c              ƒ   óÜ  "  € \         P                  ! V 4      pV'       g   \        R R4      # \        P                  P                  \        P                  VP                  RR4      4      p\        P                  P                  V4      '       d    \        P                  ! V4       \         P                  ! V 4      '       d   \        RR4      # \        R R4      #   \         d     LAi ; i5i)r*   r+   ÚfilenameÚ NÚDeleted)r	   r,   r   ÚosÚpathÚjoinr   Ú
OUTPUT_DIRÚexistsÚremoveÚ	ExceptionÚdeleter
   )r'   r   r-   Ú	file_paths   &&  r   Údelete_videor=   (   s«   é € ä×Ò˜Ó€AßÜ�; Ó$Ð$ä—‘—‘œSŸ^™^¨Q¯U©U°:¸rÓ-BÓC€IÜ	‡w�w‡~�~�i× Ò ð	Ü�IŠI�iÔ ô #/×"5Ò"5°c×":Ò":Œ2ˆd�IÓÐUÄÀKÐQTÓ@UÐUøô ô 	Ùð	üs0   ‚BC,ÂC Â'C,ÃC,ÃC)Ã&C,Ã(C)Ã)C,z/{vid}/downloadc                óR   € V ^8„  d   QhR\         R\        \         ,          R\         /# )r   r'   Útokenr   )r   r   )r   s   "r   r   r   8   s*   € ÷ ñ Ü	ðä”C�=ðô ñr   c           	   ƒ  ó~  "  € \         P                  ! V 4      pV'       g   \        RRR7      hVP                  RR4      p\        P                  P                  \        P                  V4      pV'       d&   \        P                  P                  V4      '       g   \        RRR7      h\        VRVRR	V R
2/R7      # 5i)zl
Download the generated MP4.
Auth via Bearer header OR ?token=<jwt> query param (for direct browser links).
r+   zVideo not found)Ústatus_codeÚdetailr1   r2   zVideo file not found on diskz	video/mp4zContent-Dispositionzattachment; filename="Ú")r5   Ú
media_typer1   Úheaders)
r	   r,   r   r4   r5   r6   r   r7   r8   r   )r'   r?   r   r-   r1   r<   s   &&&   r   ÚdownloadrF   7   s›   é € ô 	×Ò˜Ó€AßÜ¨Ð4EÔFÐFà�u‰u�Z Ó$€HÜ—‘—‘œSŸ^™^¨XÓ6€Içœ2Ÿ7™7Ÿ>™>¨)×4Ò4Ü¨Ð4RÔSÐSäØØØØ&Ð*@ÀÀ
È!Ð(LÐMô	ð ùs   ‚A3B=Á6$B=Â"B=)Ú__doc__Útypingr   Úfastapir   r   r   r   Úfastapi.responsesr   r4   Úapp.middleware.authr   Úapp.repository.storer	   Úapp.utils.responser
   r   Ú
app.configr   Úapp.utils.jwtr   Úrouterr,   r$   r.   r;   r=   rF   © r   r   Ú<module>rR      só   ðñõ ß <Ó <Ý *Û 	Ý ,Ý -ß &Ý Ý &á	‹€ð ‡�ˆCƒá�a˜A”Ù˜"  sÔ+Ù! $›KÙ! $›KÙ�\Ó"öó ðð ‡�ˆHÓÙ'.¨|Ó'<ö 1ó ð1ð
 ‡�ˆxÓÙ*1°,Ó*?ö Vó ðVð ‡�ÐÓñ ! ›;Ù�\Ó"öó òr   