§
    û�Äj·  ã                   óþ   — 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
mZ ddlmZmZmZmZ ddlmZmZmZ  G d„ d	e¦  «        Zed
k    r0 edd¬¦  «        Ze                     d¦  «        Z ede¦  «         dS dS )z"Copyright (C) 2020 Nidhal Baccourié    N)ÚListÚOptional)ÚBaseTranslator)Ú	BASE_URLSÚDEEPL_ENV_VARÚDEEPL_LANGUAGE_TO_CODE)ÚApiKeyExceptionÚAuthorizationExceptionÚServerExceptionÚTranslationNotFound)Úis_emptyÚis_input_validÚrequest_failedc            	       ó°   ‡ — e Zd ZdZdd ej        ed¦  «        dfdededee         d	e	fˆ fd
„Z
d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 )ÚDeeplTranslatorzv
    class that wraps functions, which use the DeeplTranslator translator
    under the hood to translate word(s)
    ÚdeÚenNTÚsourceÚtargetÚapi_keyÚuse_free_apic                 óP  •— |st          t          ¬¦  «        ‚d| _        || _        |r-t	          j        d¦  «                             | j        ¬¦  «        n,t	          j        d¦  «                             | j        ¬¦  «        } t          ¦   «         j        d|||t          dœ|¤Ž dS )	zÕ
        @param api_key: your DeeplTranslator api key.
        Get one here: https://www.deepl.com/docs-api/accessing-the-api/
        @param source: source language
        @param target: target language
        )Úenv_varÚv2Ú
DEEPL_FREE)ÚversionÚDEEPL)Úbase_urlr   r   Ú	languagesN© )
r	   r   r   r   r   ÚgetÚformatÚsuperÚ__init__r   )Úselfr   r   r   r   ÚkwargsÚurlÚ	__class__s          €úFC:\Projects\Historical\venv\Lib\site-packages\deep_translator/deepl.pyr$   zDeeplTranslator.__init__   sÅ   ø€ ð ð 	9Ý!­-Ð8Ñ8Ô8Ð8àˆŒØˆŒð ðE�IŒM˜,Ñ'Ô'×.Ò.°t´|Ð.ÑDÔDÐDå”˜wÑ'Ô'×.Ò.°t´|Ð.ÑDÔDð 	ð
 	�‰ŒÔð 	
ØØØÝ,ð		
ð 	
ð
 ð	
ð 	
ð 	
ð 	
ð 	
ó    ÚtextÚreturnc                 ó  — t          |¦  «        rû|                      ¦   «         st          |¦  «        r|S d}| j        | j        | j        |dœ}	 t          j        | j        |z   |¬¦  «        }n# t          $ r t          d¦  «        ‚w xY w|j        dk    rt          | j        ¦  «        ‚t          |j        ¬¦  «        rt          |j        ¦  «        ‚|                     ¦   «         }|st          |¦  «        ‚|d         d         d	         S d
S )zQ
        @param text: text to translate
        @return: translated text
        Ú	translate)Úauth_keyÚsource_langÚtarget_langr+   )Úparamsi÷  i“  )Ústatus_codeÚtranslationsr   r+   N)r   Ú_same_source_targetr   r   Ú_sourceÚ_targetÚrequestsr!   Ú	_base_urlÚConnectionErrorr   r3   r
   r   Újsonr   )r%   r+   r&   Útranslate_endpointr2   ÚresponseÚress          r)   r.   zDeeplTranslator.translate=   s>  € õ
 ˜$ÑÔð 	2Ø×'Ò'Ñ)Ô)ð ­X°d©^¬^ð Ø�ð "-Ðà œLØ#œ|Ø#œ|Øð	ð ˆFð+Ý#œ<Ø”NÐ%7Ñ7Àðñ ô ��øõ #ð +ð +ð +Ý% cÑ*Ô*Ð*ð+øøøð Ô# sÒ*Ð*Ý,¨T¬\Ñ:Ô:Ð:Ý¨(Ô*>Ð?Ñ?Ô?ð <Ý% hÔ&:Ñ;Ô;Ð;à—-’-‘/”/ˆCØð 0Ý)¨$Ñ/Ô/Ð/à�~Ô& qÔ)¨&Ô1Ð1ð;	2ð 	2s   ÁA- Á-BÚpathc                 ó   —  | j         |fi |¤ŽS )N)Ú_translate_file)r%   r?   r&   s      r)   Útranslate_filezDeeplTranslator.translate_filea   s   € Ø#ˆtÔ# DÐ3Ð3¨FÐ3Ð3Ð3r*   Úbatchc                 ó   —  | j         |fi |¤ŽS )z`
        @param batch: list of texts to translate
        @return: list of translations
        )Ú_translate_batch)r%   rC   r&   s      r)   Útranslate_batchzDeeplTranslator.translate_batchd   s   € ð
 %ˆtÔ$ UÐ5Ð5¨fÐ5Ð5Ð5r*   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚosÚgetenvr   Ústrr   Úboolr$   r.   rB   r   rF   Ú__classcell__)r(   s   @r)   r   r      s  ø€ € € € € ðð ð ØØ!* ¤¨=¸$Ñ!?Ô!?Ø!ð
ð 
àð
ð ð
ð ˜#”ð	
ð
 ð
ð 
ð 
ð 
ð 
ð 
ð@"2˜cð "2°ð "2ð "2ð "2ð "2ðH4 3ð 4°Sð 4ð 4ð 4ð 4ð6 T¨#¤Yð 6¸TÀ#¼Yð 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6r*   r   Ú__main__r   zsome-key)r   r   zIch habe keine ahnungztext: )Ú__copyright__rK   Útypingr   r   r8   Údeep_translator.baser   Údeep_translator.constantsr   r   r   Údeep_translator.exceptionsr	   r
   r   r   Údeep_translator.validater   r   r   r   rG   Údr.   ÚtÚprintr    r*   r)   ú<module>rZ      s[  ðØ4€à 	€	€	€	Ø !Ð !Ð !Ð !Ð !Ð !Ð !Ð !à €€€à /Ð /Ð /Ð /Ð /Ð /ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð ð ð NÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MðR6ð R6ð R6ð R6ð R6�nñ R6ô R6ð R6ðj ˆzÒÐØˆ˜t¨ZÐ8Ñ8Ô8€AØ	�ŠÐ+Ñ,Ô,€AØ	€Eˆ(�AÑÔÐÐÐð Ðr*   