
    iA                     ~   d dl mZmZmZ d dlmZmZ d dlZd dlZd dl	ZdddgiZ
ddd	d
iiddddiddgddidZej                  j                  e        ej                  d      Zd Zd Zd Zd Zd Z ej*                  e
       ej,                  ddde       ej.                  ddd ej0                   e             d !       ej.                  d"d#d ej0                  d$%      d&!       ej.                  d'd(dd)d*+       ej.                  d,d-d.d/d)ed01       ej.                  d2d3d4d5d)d)d67       ej.                  d8dd)d)d9:       ej.                  d;dd)d)ded<=       ej.                  d>dd)d)ded?=       ej2                  e@      dA                                                                              Zy)B    )gTTS	gTTSError__version__)	tts_langs_fallback_deprecated_langNhelp_option_namesz-hz--help   defaultformatz&%(name)s - %(levelname)s - %(message)sconsolezlogging.StreamHandler)class	formattergttsWARNING)handlerslevel)version
formattersr   loggersc                       y)z*Charset to use for --file <path>|- (stdin)utf8 r       F/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/gtts/cli.pysys_encodingr      s    r   c                     |s#d| j                   vrt        j                  d      |r#d| j                   v rt        j                  d      |S )zrValidation callback for the <text> argument.
    Ensures <text> (arg) and <file> (opt) are mutually exclusive
    filez#<text> or -f/--file <file> requiredz2<text> and -f/--file <file> can't be used together)paramsclickBadParameter)ctxparamtexts      r   validate_textr$      sI     F#**,  !FGG#**$  !UVVKr   c                    | j                   d   r|S t        |      }	 |t               vrt        j                  d|z        d| j                   d<   	 |S # t
        $ r+}t        j                  t        |      d       Y d}~|S d}~ww xY w)z{Validation callback for the <lang> option.
    Ensures <lang> is a supported language unless the <nocheck> flag is set
    nocheckzp'%s' not in list of supported languages.
Use --all to list languages or add --nocheck to disable language check.Texc_infoN)	r   r   r   r   
UsageErrorRuntimeErrorlogdebugstr)r!   r"   langes       r   validate_langr0   *   s     zz) %T*D)y{""";=AB  %)CJJy! K  ) 			#a&4	((K)s   3A 	B BBc                 \   |r| j                   ry	 t               t        fdD              }t        j                  ddj                  |      z          | j                          y# t        $ r:}t        j                  t        |      d       t        j                  d      d}~ww xY w)z_Callback for <all> flag.
    Prints formatted sorted list of supported languages and exits
    Nc              3   H   K   | ]  }d j                  ||           yw)z{}: {}N)r   ).0klangss     r   	<genexpr>z"print_languages.<locals>.<genexpr>P   s      L58 <Ls   "z  z
  Tr'   zCouldn't fetch language list.)resilient_parsingr   sortedr   echojoinr*   r+   r,   r-   ClickExceptionexit)r!   r"   valuelangs_str_listr/   r5   s        @r   print_languagesr?   G   s     C))DLeLL

4&++n556 HHJ  D		#a&4	(""#BCCDs   AA( (	B+15B&&B+c                 N    |r#t         j                  t        j                         y)z>Callback for <debug> flag.
    Sets logger level to DEBUG
    N)r+   setLevelloggingDEBUG)r!   r"   r,   s      r   	set_debugrD   X   s     W]]#
r   )context_settingsr#   z<text>F)metavarrequiredcallbackz-fz--filez<file>)encodingz#Read from <file> instead of <text>.)rF   typehelpz-oz--outputwb)modez"Write to <file> instead of stdout.z-sz--slowTzRead more slowly.)r
   is_flagrK   z-lz--langz<lang>enzIIETF language tag. Language to speak in. List documented tags with --all.)rF   r
   show_defaultrH   rK   z-tz--tldz<tld>comzHTop-level domain for the Google host, i.e https://translate.google.<tld>)rF   r
   rP   is_eagerrK   z	--nocheckzCDisable strict IETF language tag checking. Allow undocumented tags.)r
   rN   rR   rK   z--allz;Print all documented available IETF language tags and exit.)r
   rN   rR   expose_valuerH   rK   z--debugzShow debug information.)r   c                 d   | dk(  r#t        j                  d      j                         } |st        j                  d      }|r	 |j                         } 	 t        | ||||       }|j                  |       y# t        $ rP}t
        j                  t        |      d       t        j                  |j                  dt               z        d}~ww xY w# t        t        f$ r#}t        j                  t        |            d}~wt         $ r#}t        j"                  t        |            d}~ww xY w)	zRead <text> to mp3 format using Google Translate's Text-to-Speech API
    (set <text> or --file <file> to - for standard input)
    -stdinstdoutTr'   z"<file> must be encoded using '%s'.N)r#   r.   slowtld
lang_check)r   get_text_streamreadget_binary_streamUnicodeDecodeErrorr+   r,   r-   	FileErrornamer   r   write_to_fp
ValueErrorAssertionErrorr)   r   r;   )	r#   r   outputrX   rY   r.   r&   r/   ttss	            r   tts_clirf   a   s   H s{$$W-224 ((2 	99;D+4dGT " 	IIc!ftI,//		?,.P 	 ' 's1v&& +""3q6**+s=   A7 "C 7	C ACCD/"D  D/D**D/)r   r   r   r   	gtts.langr   r   r   rB   logging.configCONTEXT_SETTINGSLOGGER_SETTINGSconfig
dictConfig	getLoggerr+   r   r$   r0   r?   rD   commandargumentoptionFileversion_optionrf   r   r   r   <module>rs      s8   - - :    ($)9:  x)QRS&=IVWi[9EF	   / *g

:"  015=Q	\^	,	. 			- dHeT@ST	T 	S 	N 	F 	" k*+ + U R 2|+r   