o
    Ph0                     @   sz   d dl Z d dlmZ d dlmZ d dlZd dlZd dlmZ dZ	dZ
ejddg d	d
dgZdd Zedkr;e  dS dS )    N)dumps)	print_exc)UnknownLanguagez$([90mtranslatepy ~ [0m{action}) > zusage: translatepy [-h] [--version] {translate,transliterate,spellcheck,language,shell} ...
translatepy: error: the following arguments are required: actionactionzWhat do you want to do?)	TranslateTransliterate
SpellcheckLanguageExampleQuitT)namemessagechoicescarouselc                     s  t  } tjddd}|jdddt jd |jdd	d
}|jddd}|jdddtddd |jdddtddd |jddddtdd |jddd}|jdddtddd |jdddtddd  |jddddtdd |jd!d"d}|jdddtdd#d |jddddtdd |jd$d%d}|jdddtdd&d |jd'd(d}|jdddd tdd |jddddtdd |	 }|j
stt d S |j
dkr0z| j|j|j|jd)}	t|	jd*d+d, W n} ty }
 zttd+|
j|
j|
jjt|
d-d*d+d, W Y d }
~
nYd }
~
w ty/ }
 zttd+|
jjt|
d.d*d+d, W Y d }
~
n5d }
~
ww |j
dkrz| |j|j|j}	t|	jd*d+d, W n tyt }
 zttd+|
j|
j|
jjt|
d-d*d+d, W Y d }
~
nd }
~
w ty }
 zttd+|
jjt|
d.d*d+d, W Y d }
~
nd }
~
ww |j
d!krz| |j|j}	t|	jd*d+d, W n ty }
 zttd+|
j|
j|
jjt|
d-d*d+d, W Y d }
~
nd }
~
w ty }
 zttd+|
jjt|
d.d*d+d, W Y d }
~
nhd }
~
ww |j
d$kr`z| |j}	t|	jd*d+d, W nK ty< }
 zttd+|
j|
j|
jjt|
d-d*d+d, W Y d }
~
n(d }
~
w ty_ }
 zttd+|
jjt|
d.d*d+d, W Y d }
~
nd }
~
ww |j
d'kr[|j}zt |}W n ty|   d }Y nw 	 tt}|d	 }|d/krn|d0v r fd1d2 |d u r|d3krtd4 n|d5krtd6 ntd7   }td8 |d3krtd9 	 t t!j"d3d:}|d;krn+z| |||j}	td<j"|	j#|	j$|	j%d= W n ty   t&  td> Y nw qǐnQ|d?krFtd@ 	 t t!j"d?d:}|d;krn*z| j|||jd)}	tdAj"|	j#|	j%dB W n tyA   t&  td> Y nw qn|dCkrtdD 	 t t!j"dCd:}|d;kr^n(z| ||j}	tdAj"|	j#|	j%dB W n ty   t&  td> Y nw qPn|dEkrtdF 	 t t!j"dEd:}|d;krn:z&| |}	z	t |	j%j'}	W n ty   |	j%}	Y nw tdGj"|	dH W n ty   t&  td> Y nw qny|d5krStdI 	 t t!j"d5d:}|d;krnazP| (|||j}	g }t)|	j%t*rz|d dJ }W n ty   |}Y nw t|	j%g}t+|dKkr9tdL |D ]}tdMt|  q,ntdNj"|dO W n tyP   td> Y nw qq~tdP d S d S )QNtranslatepyz^Translate, transliterate, get the language of texts in no time with the help of multiple APIs!)progdescriptionz	--versionz-vversion)r   r   Actionsr   )helpdest	translatez/Translates the given text to the given language)r   z--textz-tstoreTztext to translate)r   typerequiredr   z--dest-langz-dzdestination languagez--source-langz-sautozsource language)r   defaultr   r   transliteratezTransliterates the given textztext to transliterateen)r   r   r   r   
spellcheckz%Checks the spelling of the given textztext to spellchecklanguagez%Checks the language of the given textztext to check the languageshellz$Opens translatepy's interactive mode)textdestination_languagesource_language   F)indentensure_ascii)successguessedLanguage
similarity	exceptionerror)r(   r+   r,   r   )r   r
   
Dictionaryc                     sb   t t jdtjdddg} zt| d }td|j  |W S  t	y0   td    Y S w )Nr#   zSelect Lang.r   )r   r   zThe selected language is z<[93mThe given input doesn't seem to be a valid language[0m)
inquirerpromptTextINPUT_PREFIXformatr   r	   printr   	Exception)answersr#    _prompt_for_destination_language O/var/www/html/env_mimamsha/lib/python3.10/site-packages/translatepy/__main__.pyr8      s   

z.main.<locals>._prompt_for_destination_languager   z-In what language do you want to translate in?r
   z:What language do you want to use for the example checking?z=What language do you want to use for the dictionary checking? z*[96mEnter '.quit' to stop translating[0mr.   z.quitu/   Result [90m({source} → {dest})[0m: {result})sourcer   resultz>We are sorry but an error occured or no result got returned...r   z.[96mEnter '.quit' to stop transliterating[0mzResult ({lang}): {result})langr=   r   z,[96mEnter '.quit' to stop spellchecking[0mr	   z8[96mEnter '.quit' to stop checking for the language[0mzThe given text is in {lang})r>   z4[96mEnter '.quit' to stop checking for examples[0m   r   zHere is a list of examples:z    - z!No example found for {input_text})
input_textz)Thank you for using [96mtranslatepy[0m!),r   
TranslatorargparseArgumentParseradd_argument__version__add_subparsers
add_parserstr
parse_argsr   r4   	NO_ACTIONr   r"   	dest_langsource_langas_jsonr   r   guessed_languager*   	__class____name__r5   r   r   r    r	   r/   r0   actionsinputr2   r3   r$   r#   r=   r   r   example
isinstancelistlen)dlparser	subparserparser_translateparser_transliterateparser_spellcheckparser_languageparser_shellargsr=   errr#   r6   r   r@   resultsrS   r9   r7   r:   main   s  



















prb   __main__)rB   jsonr   	tracebackr   r/   r   translatepy.exceptionsr   r2   rJ   ListrQ   rb   rP   r9   r9   r9   r:   <module>   s(    
 o
