§
    û�Äj
  ã                   ó’   — d Z dZddlZddlmZmZ ddlZddlmZ ddl	m
Z
mZ ddlmZmZmZmZmZ ddlmZmZ  G d	„ d
e¦  «        ZdS )z
Yandex translator API
z"Copyright (C) 2020 Nidhal Baccourié    N)ÚListÚOptional)ÚBaseTranslator)Ú	BASE_URLSÚYANDEX_ENV_VAR)ÚApiKeyExceptionÚRequestErrorÚServerExceptionÚTooManyRequestsÚTranslationNotFound)Úis_input_validÚrequest_failedc                   ó"  ‡ — e Zd ZdZdd ej        ed¦  «        fdededee         fˆ fd„Z	d	„ Z
ed
„ ¦   «         Zeddee         fd„¦   «         Zddedee         fd„Z	 ddedee         defd„Zdedefd„Zdee         dee         fd„Zˆ xZS )ÚYandexTranslatorzm
    class that wraps functions, which use the yandex translator
    under the hood to translate word(s)
    ÚenÚdeNÚsourceÚtargetÚapi_keyc                 óÄ   •— |st          t          ¦  «        ‚|| _        d| _        ddddœ| _         t          ¦   «         j        d	t          j        d¦  «        ||dœ|¤Ž dS )
z5
        @param api_key: your yandex api key
        zv1.5ÚgetLangsÚdetectÚ	translate)Úlangsr   r   ÚYANDEX)Úbase_urlr   r   N© )	r   r   r   Úapi_versionÚapi_endpointsÚsuperÚ__init__r   Úget)Úselfr   r   r   ÚkwargsÚ	__class__s        €úGC:\Projects\Historical\venv\Lib\site-packages\deep_translator/yandex.pyr!   zYandexTranslator.__init__   s�   ø€ ð ð 	2Ý!¥.Ñ1Ô1Ð1ØˆŒØ!ˆÔàØØ$ð
ð 
ˆÔð
 	�‰ŒÔð 	
Ý”] 8Ñ,Ô,ØØð	
ð 	
ð ð		
ð 	
ð 	
ð 	
ð 	
ó    c                 ó>   — t          d„ | j        D ¦   «         ¦  «        S )Nc              3   óL   K  — | ]}|                      d ¦  «        d         V — Œ dS )ú-r   N)Úsplit)Ú.0Úxs     r&   ú	<genexpr>z<YandexTranslator._get_supported_languages.<locals>.<genexpr>9   s0   è è € Ð6Ð6 q�1—7’7˜3‘<”< ”?Ð6Ð6Ð6Ð6Ð6Ð6r'   )ÚsetÚdirs©r#   s    r&   Ú_get_supported_languagesz)YandexTranslator._get_supported_languages8   s!   € ÝÐ6Ð6¨D¬IÐ6Ñ6Ô6Ñ6Ô6Ð6r'   c                 ó*   — |                       ¦   «         S ©N)Úget_supported_languagesr1   s    r&   Ú	languageszYandexTranslator.languages;   s   € à×+Ò+Ñ-Ô-Ð-r'   Úproxiesc                 ó–  — 	 | j                              | j        d¬¦  «        }t          d|¦  «         t	          j        |d| j        i|¬¦  «        }|                     ¦   «         }n'# t          j        j	        $ r t          d¦  «        ‚w xY wt          |j        ¬¦  «        rt          |j        ¦  «        ‚|                     d¦  «        S )	Nr   ©ÚversionÚendpointzurl: Úkey)Úparamsr7   é÷  )Ústatus_coder0   )Ú	_base_urlÚformatr   ÚprintÚrequestsr"   r   ÚjsonÚ
exceptionsÚConnectionErrorr
   r   r?   )r#   r7   ÚurlÚresponseÚdatas        r&   r0   zYandexTranslator.dirs?   sÞ   € ð	#Ø”.×'Ò'ØÔ(°:ð (ñ ô ˆCõ �'˜3ÑÔÐÝ”|Ø˜U D¤LÐ1¸7ðñ ô ˆHð —=’=‘?”?ˆDˆDøõ Ô"Ô2ð 	'ð 	'ð 	'Ý! #Ñ&Ô&Ð&ð	'øøøõ
  hÔ&:Ð;Ñ;Ô;ð 	8Ý! (Ô"6Ñ7Ô7Ð7Ø�xŠx˜ÑÔÐs   ‚AA& Á&$B
Útextc                 ó®  — d }|d| j         dœ}	 | j                             | j        d¬¦  «        }t	          j        |||¬¦  «        }|                     ¦   «         }nD# t          $ r ‚ t          $ r t          d¦  «        ‚t          $ r t          |j        ¦  «        ‚w xY w|d         }|d         }|d	k    rt          ¦   «         ‚|st          d
¦  «        ‚|S )NÚplain)rJ   rA   r<   r   r9   ©rI   r7   r>   ÚlangÚcodeéÈ   iõ  )r   r@   rA   r   rC   ÚpostrD   r	   rF   r
   Ú
ValueErrorr?   )r#   rJ   r7   rH   r=   rG   Úlanguager?   s           r&   r   zYandexTranslator.detectR   s  € ØˆàØØ”<ð
ð 
ˆð
	'Ø”.×'Ò'ØÔ(°8ð (ñ ô ˆCõ  ”} S¨v¸wÐGÑGÔGˆHð  —}’}‘”ˆHˆHøõ ð 	ð 	ð 	ØÝð 	'ð 	'ð 	'Ý! #Ñ&Ô&Ð&Ýð 	8ð 	8ð 	8Ý! (Ô"6Ñ7Ô7Ð7ð	8øøøð ˜FÔ#ˆØ˜vÔ&ˆØ˜#ÒÐÝ‘.”.Ð Øð 	'Ý! #Ñ&Ô&Ð&Øˆs   �8A ÁABÚreturnc                 ó&  — t          |¦  «        �r |d| j        dk    r| j        nd                     | j        | j        ¦  «        | j        dœ}	 | j                             | j        d¬¦  «        }t          j        |||¬¦  «        }| 	                    ¦   «         }n# t          $ r t          d¦  «        ‚w xY w|d	         d
k    rt          ¦   «         ‚|d	         dk    rt          |d	         ¦  «        ‚|d         st          ¦   «         ‚|d         S d S )NrL   Úautoz{}-{})rJ   rA   rN   r<   r   r9   rM   r>   rO   i­  rP   rJ   )r   Ú_sourceÚ_targetrA   r   r@   r   rC   rQ   rD   rF   r
   r   r   )r#   rJ   r7   r$   r=   rG   rH   s          r&   r   zYandexTranslator.translateo   sB  € õ ˜$ÑÔñ 	$àØ!à”< 6Ò)Ð)ð œ˜à—^’^ D¤L°$´,Ñ?Ô?Ø”|ðð ˆFð+Ø”n×+Ò+Ø Ô,°{ð ,ñ ô �õ $œ=¨°6À7ÐKÑKÔK�ð $Ÿ=š=™?œ?��øõ #ð +ð +ð +Ý% cÑ*Ô*Ð*ð+øøøð
 ˜Ô 3Ò&Ð&Ý%Ñ'Ô'Ð'à˜Ô 3Ò&Ð&Ý% h¨vÔ&6Ñ7Ô7Ð7à˜FÔ#ð ,Ý)Ñ+Ô+Ð+à˜FÔ#Ð#ð9	$ð 	$s   Á8B ÂB5Úpathc                 ó   —  | j         |fi |¤ŽS )zj
        translate from a file
        @param path: path to file
        @return: translated text
        )Ú_translate_file)r#   rY   r$   s      r&   Útranslate_filezYandexTranslator.translate_file�   s   € ð $ˆtÔ# DÐ3Ð3¨FÐ3Ð3Ð3r'   Úbatchc                 ó   —  | j         |fi |¤ŽS )zƒ
        translate a batch of texts
        @param batch: list of texts to translate
        @return: list of translations
        )Ú_translate_batch)r#   r]   r$   s      r&   Útranslate_batchz YandexTranslator.translate_batch˜   s   € ð %ˆtÔ$ UÐ5Ð5¨fÐ5Ð5Ð5r'   r4   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚosÚgetenvr   Ústrr   r!   r2   Úpropertyr6   Údictr0   r   r   r\   r   r`   Ú__classcell__)r%   s   @r&   r   r      s‘  ø€ € € € € ðð ð ØØ!* ¤¨>¸4Ñ!@Ô!@ð	
ð 
àð
ð ð
ð ˜#”ð	
ð 
ð 
ð 
ð 
ð 
ð47ð 7ð 7ð ð.ð .ñ „Xð.ð ð ð  ˜H TœNð  ð  ð  ñ „Xð ð$ð ˜3ð ¨°$¬ð ð ð ð ð< 48ð$ð $Øð$Ø"*¨4¤.ð$à	ð$ð $ð $ð $ðB4 3ð 4°Sð 4ð 4ð 4ð 4ð6 T¨#¤Yð 6¸TÀ#¼Yð 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6r'   r   )rd   Ú__copyright__re   Útypingr   r   rC   Údeep_translator.baser   Údeep_translator.constantsr   r   Údeep_translator.exceptionsr   r	   r
   r   r   Údeep_translator.validater   r   r   r   r'   r&   ú<module>rq      s	  ððð ð 5€à 	€	€	€	Ø !Ð !Ð !Ð !Ð !Ð !Ð !Ð !à €€€à /Ð /Ð /Ð /Ð /Ð /Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?ðð ð ð ð ð ð ð ð ð ð ð ð ð ð DÐ CÐ CÐ CÐ CÐ CÐ CÐ CðF6ð F6ð F6ð F6ð F6�~ñ F6ô F6ð F6ð F6ð F6r'   