o
    Þ­jA  ã                   @   sª  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 e¡ e d¡Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zeje
d�ejddded �ejd!d"d#ejeƒ d$�d%d&�ejd'd(d#ejd)d*�d+d&�ejd,d-dd.d/d0�ejd1d2d3d4d.ed5d6�ejd7d8d9d:d.d.d;d<�ejd=dd.d.d>d?�ejd@dd.d.dedAdB�ejdCdd.d.dedDdB�ejedE�dFdG„ ƒƒƒƒƒƒƒƒƒƒƒZdS )Hé    )Ú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                   C   s   dS )z*Charset to use for --file <path>|- (stdin)Úutf8© r   r   r   úE/var/www/html/CropPilot/venv/lib/python3.10/site-packages/gtts/cli.pyÚsys_encoding   s   r   c                 C   s4   |sd| j vrt d¡‚|rd| j v rt 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Útextr   r   r   Úvalidate_text   s
   

r    c              
   C   sx   | j d r|S t|ƒ}z|tƒ vrt d| ¡‚d| j d< W |S  ty; } ztjt|ƒdd� W Y d}~|S d}~w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Úer   r   r   Úvalidate_lang*   s"   

þÿû€ûr+   c              
      s„   |r| j rdS ztƒ ‰ t‡ fdd„ˆ D ƒƒ}t dd |¡ ¡ W n ty; } ztjt	|ƒdd� t 
d¡‚d}~ww |  ¡  dS )	z_Callback for <all> flag.
    Prints formatted sorted list of supported languages and exits
    Nc                 3   s    � | ]}d   |ˆ | ¡V  qdS )z{}: {}N)r
   )Ú.0Úk©Úlangsr   r   Ú	<genexpr>P   s   € z"print_languages.<locals>.<genexpr>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*   r   r.   r   Úprint_languagesG   s   

€þr9   c                 C   s   |rt  tj¡ dS )z>Callback for <debug> flag.
    Sets logger level to DEBUG
    N)r&   ÚsetLevelÚloggingÚDEBUG)r   r   r'   r   r   r   Ú	set_debugX   s   r=   )Úcontext_settingsr   z<text>F)ÚmetavarÚrequiredÚcallbackz-fz--filez<file>)Úencodingz#Read from <file> instead of <text>.)r?   ÚtypeÚhelpz-oz--outputÚwb)Úmodez"Write to <file> instead of stdout.z-sz--slowTzRead more slowly.)r	   Úis_flagrD   z-lz--langz<lang>ÚenzIIETF language tag. Language to speak in. List documented tags with --all.)r?   r	   Úshow_defaultrA   rD   z-tz--tldz<tld>ÚcomzHTop-level domain for the Google host, i.e https://translate.google.<tld>)r?   r	   rI   Úis_eagerrD   z	--nocheckzCDisable strict IETF language tag checking. Allow undocumented tags.)r	   rG   rK   rD   z--allz;Print all documented available IETF language tags and exit.)r	   rG   rK   Úexpose_valuerA   rD   z--debugzShow debug information.)r   c           	   
   C   sè   | dkrt  d¡ ¡ } |st  d¡}|r:z| ¡ } W n ty9 } ztjt|ƒdd� t  |j	dt
ƒ  ¡‚d}~ww zt| |||| d�}| |¡ W dS  ttfya } zt  t|ƒ¡‚d}~w tys } zt  t|ƒ¡‚d}~ww )	z„Read <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   r5   )	r   r   ÚoutputrP   rQ   r)   r!   r*   Úttsr   r   r   Útts_clia   s0   D
ÿ€þ€€ÿr^   )r   r   r   r   Ú	gtts.langr   r   r   r;   Úlogging.configÚCONTEXT_SETTINGSÚLOGGER_SETTINGSÚconfigÚ
dictConfigÚ	getLoggerr&   r   r    r+   r9   r=   ÚcommandÚargumentÚoptionÚFileÚversion_optionr^   r   r   r   r   Ú<module>   s    
ü

	ú
ûù	ù	ûù	ù
	"