Skip to content

Commit

Permalink
Merge pull request #10 from ZhymabekRoman/new_yandex_translate_implem…
Browse files Browse the repository at this point in the history
…entation

[add] Implementing a more stable Yandex Translate implementation
  • Loading branch information
Animenosekai authored Apr 27, 2021
2 parents d300725 + c3ef31a commit 4fb1a8c
Show file tree
Hide file tree
Showing 7 changed files with 116 additions and 137 deletions.
4 changes: 2 additions & 2 deletions test.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ def test_imports():
from translatepy import translate
import translatepy

def test_yandex_sid():
def test_yandex_ucid():
print("[test] --> Testing Translator.yandex_translate._sid")
t = translatepy.Translator()
assert t.yandex_translate._sid == translatepy.Translator().yandex_translate._sid
assert t.yandex_translate._ucid() is not None
14 changes: 7 additions & 7 deletions translatepy/translate.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,14 @@ def __eq__(self, o: object) -> bool:
def __ne__(self, o: object) -> bool:
return str(o) != self.result


class Translator():
"""
A class which groups all of the APIs
"""
def __init__(self, use_google=True, use_yandex=True, use_bing=True, use_reverso=True, use_deepl=True, yandex_sid_refresh=False) -> None:
def __init__(self, use_google=True, use_yandex=True, use_bing=True, use_reverso=True, use_deepl=True) -> None:
self.google_translate = (GoogleTranslate() if use_google else Unselected())
self.yandex_translate = (YandexTranslate(sid_refresh=yandex_sid_refresh) if use_yandex else Unselected())
self.yandex_translate = (YandexTranslate() if use_yandex else Unselected())
self.bing_translate = (BingTranslate() if use_bing else Unselected())
self.reverso_translate = (ReversoTranslate() if use_reverso else Unselected())
self.deepl_translate = (DeepL() if use_deepl else Unselected())
Expand Down Expand Up @@ -115,7 +116,7 @@ def transliterate(self, text, source_language=None) -> Union[str, None]:
_cache_key = str({"t": str(text), "s": str(source_language)})
if _cache_key in TRANSLITERATION_CACHES:
return TRANSLITERATION_CACHES[_cache_key]

services = [self.google_translate, self.yandex_translate]
for service in services:
if not isinstance(service, Unselected):
Expand Down Expand Up @@ -152,7 +153,7 @@ def spellcheck(self, text, source_language=None) -> Union[str, None]:
services = [self.bing_translate, self.reverso_translate, self.yandex_translate]
for service in services:
if not isinstance(service, Unselected):
lang, response = self.bing_translate.spellcheck(text, source_language)
lang, response = service.spellcheck(text, source_language)
if response is not None:
try:
lang = Language(lang)
Expand All @@ -162,7 +163,7 @@ def spellcheck(self, text, source_language=None) -> Union[str, None]:
SPELLCHECK_CACHES[str({"t": str(text), "s": str(lang)})] = response
return response
return None

def language(self, text) -> Union[Language, str, None]:
"""
Returns the language of the given text
Expand Down Expand Up @@ -192,7 +193,6 @@ def language(self, text) -> Union[Language, str, None]:
return response
return None


def example(self, text, destination_language=None, source_language=None) -> Union[List, None]:
"""
Returns a set of examples / use cases for the given word
Expand All @@ -205,7 +205,7 @@ def example(self, text, destination_language=None, source_language=None) -> Unio
return None

if destination_language is None:
destination_language = "Japanese" # could be anything
destination_language = "Japanese" # could be anything

## language handling
if not isinstance(destination_language, Language):
Expand Down
Empty file.
Empty file.
9 changes: 5 additions & 4 deletions translatepy/translators/bing.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
"Content-Type": "application/x-www-form-urlencoded",
"Connection": "keep-alive"
}
PARAMS = {'IG' : '839D27F8277F4AA3B0EDB83C255D0D70', 'IID' : 'translator.5033.3'}

PARAMS = {'IG': '839D27F8277F4AA3B0EDB83C255D0D70', 'IID': 'translator.5033.3'}

class Example():
"""An Example"""
Expand Down Expand Up @@ -65,7 +66,7 @@ def translate(self, text, destination_language, source_language="auto-detect") -
Args:
text: param destination_language:
source_language: Default value = "auto-detect")
destination_language:
destination_language:
Returns:
Tuple(str, str) --> tuple with source_lang, translation
Expand Down Expand Up @@ -94,7 +95,7 @@ def example(self, text, destination_language, source_language=None, translation=
Args:
text: param destination_language:
source_language: Default value = "auto-detect")
destination_language:
destination_language:
Returns:
Tuple(str, list[str]) --> tuple with source_lang, [examples]
Expand Down Expand Up @@ -170,4 +171,4 @@ def language(self, text) -> Union[str, None]:
return None

def __repr__(self) -> str:
return "Microsoft Bing Translator"
return "Microsoft Bing Translator"
Loading

0 comments on commit 4fb1a8c

Please sign in to comment.