Ë
    Gü´jø  ã                   óH  — d Z ddlZddlZddlZddlZddlZddlmZ ddlm	Z	m
Z
mZ ddlmZ deee	e   f   fd„Zd	eddfd
„Zd	ede
e   de
e   dedeee
e   f   f
d„Zdede
e   de	e   ddfd„Zd	edede
e   ddfd„Zde
e   de
e   deddfd„Zdd„Zedk(  r e«        yy)z.Main entrypoint for the edge-playback package.é    N)Úwhich)ÚListÚOptionalÚTupleé   )Úpr_errÚreturnc                  óÊ   — t        j                  ddd¬«      } | j                  ddd¬«       | j                  «       \  }}t        j
                  d	k7  xs |j                  }||fS )
Nzedge-playbackz;Speak text using Microsoft Edge's online text-to-speech APIz'See `edge-tts` for additional arguments)ÚprogÚdescriptionÚepilogz--mpvÚ
store_truezSUse mpv to play audio. By default, false on Windows and true on all other platforms)ÚactionÚhelpÚwin32)ÚargparseÚArgumentParserÚadd_argumentÚparse_known_argsÚsysÚplatformÚmpv)ÚparserÚargsÚtts_argsÚuse_mpvs       úT/root/workspace/ytshorts/venv/lib/python3.12/site-packages/edge_playback/__main__.pyÚ_parse_argsr      so   € Ü×$Ñ$ØØQØ8ô€Fð
 ×ÑØØØbð ô ð
 ×,Ñ,Ó.�N€Dˆ(Ü�l‰l˜gÑ%Ò1¨¯©€GØ�HÐÐó    r   c                 óÀ   — d}dg}| r|j                  d«       |D ]  }t        |«      rŒt        |› d�«       d}Œ  |r!t        d«       t        j                  d«       y y )NFúedge-ttsr   z is not installed.Tz(Please install the missing dependencies.r   )Úappendr   r   r   Úexit)r   Údepcheck_failedÚdepsÚdeps       r   Ú_check_depsr'      sf   € Ø€OØˆ<€DÙØ�‰�EÔàò #ˆÜ�S�zÜ�c�UÐ,Ð-Ô.Ø"‰Oð#ñ
 ÜÐ9Ô:Ü�‰��ð r   Ú	mp3_fnameÚ	srt_fnameÚdebugc                 ó0  — d x}}|sCt        j                  dd¬«      }|j                  «        |j                  }|rt	        d|› �«       |s5| r3t        j                  dd¬«      }|j                  «        |j                  }|r|rt	        d|› d�«       ||fS )Nz.mp3F)ÚsuffixÚdeletezMedia file: z.srtzSubtitle file: ú
)ÚtempfileÚNamedTemporaryFileÚcloseÚnameÚprint)r   r(   r)   r*   ÚmediaÚsubtitles         r   Ú_create_temp_filesr6   .   s’   € ð Ð€EˆHÙÜ×+Ñ+°6À%ÔHˆØ�‰ŒØ—J‘Jˆ	ÙÜ�L  Ð,Ô-á™Ü×.Ñ.°fÀUÔKˆØ�‰ÔØ—M‘Mˆ	á‘Ü� 	˜{¨"Ð-Ô.à�iÐÐr   r   c                 ó¼   — dd| › �g}|r|j                  d|› �«       ||z   }t        j                  |«      5 }|j                  «        d d d «       y # 1 sw Y   y xY w)Nr!   z--write-media=z--write-subtitles=)r"   Ú
subprocessÚPopenÚcommunicate)r(   r)   r   Úedge_tts_cmdÚprocesss        r   Ú_run_edge_ttsr=   D   si   € ð  .°°Ð <Ð=€LÙØ×ÑÐ0°°Ð<Ô=Ø (Ñ*€LÜ	×	Ñ	˜,Ó	'ð ¨7Ø×ÑÔ÷÷ ñ ús   ¸AÁAc                 ó  — t         j                  dk(  r| sddlm}  ||«       y ddg}|r|j	                  d|› �«       |j	                  |«       t        j                  |«      5 }|j                  «        d d d «       y # 1 sw Y   y xY w)Nr   r   )Úplay_mp3_win32r   z'--msg-level=all=error,statusline=statusz--sub-file=)r   r   Úwin32_playbackr?   r"   r8   r9   r:   )r   r(   r)   r?   Úmpv_cmdr<   s         r   Ú_play_mediarB   O   s‚   € Ü
‡|�|�wÒ¡wå2á�yÔ!Øð 	Ø1ð€Gñ Ø�‰˜ Y KÐ0Ô1Ø‡N�N�9ÔÜ	×	Ñ	˜'Ó	"ð  gØ×ÑÔ÷÷ ñ ús   Á%A?Á?BÚkeepc                 óB  — |r/| �-t        d| › �d¬«       |rt        d|› �d¬«       t        «        y | �4t        j                  j                  | «      rt        j                  | «       |�6t        j                  j                  |«      rt        j                  |«       y y y )Nz
Keeping temporary files: Ú )Úendz and )r3   ÚosÚpathÚexistsÚunlink)r(   r)   rC   s      r   Ú_cleanuprK   b   s‚   € Ù�	Ð%ÜÐ+¨I¨;Ð7¸RÕ@ÙÜ�E˜)˜Ð%¨2Õ.ÜŒØàÐ¤§¡§¡°	Ô!:Ü
�	‰	�)ÔØÐ¤§¡§¡°	Ô!:Ü
�	‰	�)Õð ";Ðr   c                  óÊ  — t        «       \  } }t        | «       t        j                  j	                  d«      d u}t        j                  j	                  d«      d u}t        j                  j	                  d«      }t        j                  j	                  d«      }	 t        | |||«      \  }}t        |||«       t        | ||«       t        |||«       y # t        |||«       w xY w)NÚEDGE_PLAYBACK_DEBUGÚEDGE_PLAYBACK_KEEP_TEMPÚEDGE_PLAYBACK_MP3_FILEÚEDGE_PLAYBACK_SRT_FILE)	r   r'   rG   ÚenvironÚgetr6   r=   rB   rK   )r   r   r*   rC   r(   r)   s         r   Ú_mainrS   p   s¸   € Ü#›Ñ€GˆXÜ�Ôä�J‰J�N‰NÐ0Ó1¸Ð=€EÜ�:‰:�>‰>Ð3Ó4¸DÐ@€DÜ—
‘
—‘Ð7Ó8€IÜ—
‘
—‘Ð7Ó8€Ið-Ü1°'¸9ÀiÐQVÓWÑˆ	�9Ü�i ¨HÔ5Ü�G˜Y¨	Ô2ä�˜I tÕ,øŒ�˜I tÕ,ús   Â+C ÃC"Ú__main__)r	   N)Ú__doc__r   rG   r8   r   r/   Úshutilr   Útypingr   r   r   Úutilr   ÚboolÚstrr   r'   r6   r=   rB   rK   rS   Ú__name__© r   r   ú<module>r]      s'  ðÙ 4ã Û 	Û Û 
Û Ý ß (Ñ (å ð�U˜4  c¡˜?Ñ+ó ð ˜ð  $ó ð  Øð Ø& s™mð Ø8@À¹ð ØNRð à
ˆ3�˜‘ÐÑó ð,ØðØ'¨™}ðØ8<¸S¹	ðà	óð˜ð ¨#ð ¸(À3¹-ð ÈDó ð&˜ ™ð °(¸3±-ð Àtð ÐPTó ó-ð" ˆzÒÙ	…Gð r   