nidhal baccouri commited on
Commit
76aa3b2
·
1 Parent(s): 7ade3be

renamed input validation func

Browse files
deep_translator/deepl.py CHANGED
@@ -1,6 +1,6 @@
1
  import requests
2
  from typing import Optional, List
3
- from deep_translator.validate import is_empty, validate_input
4
  from deep_translator.constants import BASE_URLS, DEEPL_LANGUAGE_TO_CODE
5
  from deep_translator.exceptions import (
6
  ServerException,
@@ -51,7 +51,7 @@ class DeeplTranslator(BaseTranslator):
51
  @param text: text to translate
52
  @return: translated text
53
  """
54
- if validate_input(text):
55
  if self._same_source_target() or is_empty(text):
56
  return text
57
 
 
1
  import requests
2
  from typing import Optional, List
3
+ from deep_translator.validate import is_empty, is_input_valid
4
  from deep_translator.constants import BASE_URLS, DEEPL_LANGUAGE_TO_CODE
5
  from deep_translator.exceptions import (
6
  ServerException,
 
51
  @param text: text to translate
52
  @return: translated text
53
  """
54
+ if is_input_valid(text):
55
  if self._same_source_target() or is_empty(text):
56
  return text
57
 
deep_translator/google.py CHANGED
@@ -9,7 +9,7 @@ from deep_translator.exceptions import (
9
  RequestError,
10
  )
11
  from deep_translator.base import BaseTranslator
12
- from deep_translator.validate import validate_input, is_empty
13
  from bs4 import BeautifulSoup
14
  import requests
15
  from typing import Optional, List
@@ -17,7 +17,7 @@ from typing import Optional, List
17
 
18
  class GoogleTranslator(BaseTranslator):
19
  """
20
- class that wraps functions, which use google translate under the hood to translate text(s)
21
  """
22
 
23
  def __init__(
@@ -46,11 +46,11 @@ class GoogleTranslator(BaseTranslator):
46
 
47
  def translate(self, text: str, **kwargs) -> str:
48
  """
49
- function that uses google translate to translate a text
50
  @param text: desired text to translate
51
  @return: str: translated text
52
  """
53
- if validate_input(text):
54
  text = text.strip()
55
  if self._same_source_target() or is_empty(text):
56
  return text
 
9
  RequestError,
10
  )
11
  from deep_translator.base import BaseTranslator
12
+ from deep_translator.validate import is_input_valid, is_empty
13
  from bs4 import BeautifulSoup
14
  import requests
15
  from typing import Optional, List
 
17
 
18
  class GoogleTranslator(BaseTranslator):
19
  """
20
+ class that wraps functions, which use Google Translate under the hood to translate text(s)
21
  """
22
 
23
  def __init__(
 
46
 
47
  def translate(self, text: str, **kwargs) -> str:
48
  """
49
+ function to translate a text
50
  @param text: desired text to translate
51
  @return: str: translated text
52
  """
53
+ if is_input_valid(text):
54
  text = text.strip()
55
  if self._same_source_target() or is_empty(text):
56
  return text
deep_translator/libre.py CHANGED
@@ -4,7 +4,7 @@ LibreTranslate API
4
 
5
  import requests
6
  from typing import Optional, List
7
- from deep_translator.validate import is_empty, validate_input
8
  from deep_translator.base import BaseTranslator
9
  from deep_translator.constants import BASE_URLS, LIBRE_LANGUAGES_TO_CODES
10
  from deep_translator.exceptions import (
@@ -48,7 +48,7 @@ class LibreTranslator(BaseTranslator):
48
  @param text: desired text to translate
49
  @return: str: translated text
50
  """
51
- if validate_input(text):
52
  if self._same_source_target() or is_empty(text):
53
  return text
54
 
 
4
 
5
  import requests
6
  from typing import Optional, List
7
+ from deep_translator.validate import is_empty, is_input_valid
8
  from deep_translator.base import BaseTranslator
9
  from deep_translator.constants import BASE_URLS, LIBRE_LANGUAGES_TO_CODES
10
  from deep_translator.exceptions import (
 
48
  @param text: desired text to translate
49
  @return: str: translated text
50
  """
51
+ if is_input_valid(text):
52
  if self._same_source_target() or is_empty(text):
53
  return text
54
 
deep_translator/linguee.py CHANGED
@@ -1,7 +1,7 @@
1
  """
2
  linguee translator API
3
  """
4
- from deep_translator.validate import validate_input, is_empty
5
  from deep_translator.constants import BASE_URLS, LINGUEE_LANGUAGES_TO_CODES
6
  from deep_translator.exceptions import (
7
  TranslationNotFound,
@@ -54,7 +54,7 @@ class LingueeTranslator(BaseTranslator):
54
  if self._same_source_target() or is_empty(word):
55
  return word
56
 
57
- if validate_input(word, max_chars=50):
58
  # %s-%s/translation/%s.html
59
  url = (
60
  f"{self._base_url}{self._source}-{self._target}/translation/{word}.html"
 
1
  """
2
  linguee translator API
3
  """
4
+ from deep_translator.validate import is_input_valid, is_empty
5
  from deep_translator.constants import BASE_URLS, LINGUEE_LANGUAGES_TO_CODES
6
  from deep_translator.exceptions import (
7
  TranslationNotFound,
 
54
  if self._same_source_target() or is_empty(word):
55
  return word
56
 
57
+ if is_input_valid(word, max_chars=50):
58
  # %s-%s/translation/%s.html
59
  url = (
60
  f"{self._base_url}{self._source}-{self._target}/translation/{word}.html"
deep_translator/microsoft.py CHANGED
@@ -6,7 +6,7 @@ import sys
6
  from deep_translator.constants import BASE_URLS
7
  from deep_translator.exceptions import ServerException, MicrosoftAPIerror
8
  from deep_translator.base import BaseTranslator
9
- from deep_translator.validate import validate_input
10
  from typing import Optional, List
11
 
12
 
@@ -70,7 +70,7 @@ class MicrosoftTranslator(BaseTranslator):
70
  # a body must be a list of dicts to process multiple texts;
71
  # I have not added multiple text processing here since it is covered by the translate_batch method
72
 
73
- if validate_input(text):
74
  self._url_params["from"] = self._source
75
  self._url_params["to"] = self._target
76
 
 
6
  from deep_translator.constants import BASE_URLS
7
  from deep_translator.exceptions import ServerException, MicrosoftAPIerror
8
  from deep_translator.base import BaseTranslator
9
+ from deep_translator.validate import is_input_valid
10
  from typing import Optional, List
11
 
12
 
 
70
  # a body must be a list of dicts to process multiple texts;
71
  # I have not added multiple text processing here since it is covered by the translate_batch method
72
 
73
+ if is_input_valid(text):
74
  self._url_params["from"] = self._source
75
  self._url_params["to"] = self._target
76
 
deep_translator/mymemory.py CHANGED
@@ -1,7 +1,7 @@
1
  """
2
  mymemory translator API
3
  """
4
- from deep_translator.validate import is_empty, validate_input
5
  from deep_translator.constants import BASE_URLS
6
  from deep_translator.exceptions import (
7
  TranslationNotFound,
@@ -48,7 +48,7 @@ class MyMemoryTranslator(BaseTranslator):
48
  @param return_all: set to True to return all synonym/similars of the translated text
49
  @return: str or list
50
  """
51
- if validate_input(text, max_chars=500):
52
  text = text.strip()
53
  if self._same_source_target() or is_empty(text):
54
  return text
 
1
  """
2
  mymemory translator API
3
  """
4
+ from deep_translator.validate import is_empty, is_input_valid
5
  from deep_translator.constants import BASE_URLS
6
  from deep_translator.exceptions import (
7
  TranslationNotFound,
 
48
  @param return_all: set to True to return all synonym/similars of the translated text
49
  @return: str or list
50
  """
51
+ if is_input_valid(text, max_chars=500):
52
  text = text.strip()
53
  if self._same_source_target() or is_empty(text):
54
  return text
deep_translator/papago.py CHANGED
@@ -7,7 +7,7 @@ from deep_translator.exceptions import TranslationNotFound
7
  from deep_translator.base import BaseTranslator
8
  import requests
9
  from typing import Optional, List
10
- from deep_translator.validate import validate_input
11
 
12
 
13
  class PapagoTranslator(BaseTranslator):
@@ -48,7 +48,7 @@ class PapagoTranslator(BaseTranslator):
48
  @param text: desired text to translate
49
  @return: str: translated text
50
  """
51
- if validate_input(text):
52
  payload = {"source": self._source, "target": self._target, "text": text}
53
  headers = {
54
  "X-Naver-Client-Id": self.client_id,
 
7
  from deep_translator.base import BaseTranslator
8
  import requests
9
  from typing import Optional, List
10
+ from deep_translator.validate import is_input_valid
11
 
12
 
13
  class PapagoTranslator(BaseTranslator):
 
48
  @param text: desired text to translate
49
  @return: str: translated text
50
  """
51
+ if is_input_valid(text):
52
  payload = {"source": self._source, "target": self._target, "text": text}
53
  headers = {
54
  "X-Naver-Client-Id": self.client_id,
deep_translator/pons.py CHANGED
@@ -4,7 +4,7 @@ pons translator API
4
  from bs4 import BeautifulSoup
5
  import requests
6
 
7
- from deep_translator.validate import validate_input, is_empty
8
  from deep_translator.constants import BASE_URLS, PONS_CODES_TO_LANGUAGES
9
  from deep_translator.exceptions import (
10
  TranslationNotFound,
@@ -53,7 +53,7 @@ class PonsTranslator(BaseTranslator):
53
  @type return_all: bool
54
  @return: str: translated word
55
  """
56
- if validate_input(word, max_chars=50):
57
  if self._same_source_target() or is_empty(word):
58
  return word
59
  url = f"{self._base_url}{self._source}-{self._target}/{word}"
 
4
  from bs4 import BeautifulSoup
5
  import requests
6
 
7
+ from deep_translator.validate import is_input_valid, is_empty
8
  from deep_translator.constants import BASE_URLS, PONS_CODES_TO_LANGUAGES
9
  from deep_translator.exceptions import (
10
  TranslationNotFound,
 
53
  @type return_all: bool
54
  @return: str: translated word
55
  """
56
+ if is_input_valid(word, max_chars=50):
57
  if self._same_source_target() or is_empty(word):
58
  return word
59
  url = f"{self._base_url}{self._source}-{self._target}/{word}"
deep_translator/validate.py CHANGED
@@ -5,7 +5,7 @@ def is_empty(text: str) -> bool:
5
  return text == ""
6
 
7
 
8
- def validate_input(text: str, min_chars: int = 0, max_chars: int = 5000) -> bool:
9
  """
10
  validate the target text to translate
11
  @param min_chars: min characters
 
5
  return text == ""
6
 
7
 
8
+ def is_input_valid(text: str, min_chars: int = 0, max_chars: int = 5000) -> bool:
9
  """
10
  validate the target text to translate
11
  @param min_chars: min characters
deep_translator/yandex.py CHANGED
@@ -10,7 +10,7 @@ from deep_translator.exceptions import (
10
  TooManyRequests,
11
  )
12
  from deep_translator.base import BaseTranslator
13
- from deep_translator.validate import validate_input
14
  from typing import Optional, List
15
 
16
 
@@ -93,7 +93,7 @@ class YandexTranslator(BaseTranslator):
93
  return language
94
 
95
  def translate(self, text: str, proxies: Optional[dict] = None, **kwargs) -> str:
96
- if validate_input(text):
97
  params = {
98
  "text": text,
99
  "format": "plain",
 
10
  TooManyRequests,
11
  )
12
  from deep_translator.base import BaseTranslator
13
+ from deep_translator.validate import is_input_valid
14
  from typing import Optional, List
15
 
16
 
 
93
  return language
94
 
95
  def translate(self, text: str, proxies: Optional[dict] = None, **kwargs) -> str:
96
+ if is_input_valid(text):
97
  params = {
98
  "text": text,
99
  "format": "plain",
tests/test_deepl.py CHANGED
@@ -1,5 +1,5 @@
1
  import pytest
2
- from unittest.mock import Mock, PropertyMock, patch
3
  from deep_translator.deepl import DeeplTranslator
4
  from deep_translator.exceptions import AuthorizationException
5
 
 
1
  import pytest
2
+ from unittest.mock import Mock, patch
3
  from deep_translator.deepl import DeeplTranslator
4
  from deep_translator.exceptions import AuthorizationException
5
 
tests/test_google.py CHANGED
@@ -4,7 +4,7 @@
4
 
5
  import pytest
6
  from deep_translator import exceptions, GoogleTranslator
7
- from deep_translator.constants import GOOGLE_CODES_TO_LANGUAGES
8
 
9
 
10
  @pytest.fixture
@@ -21,7 +21,7 @@ def test_content(google_translator):
21
 
22
 
23
  def test_abbreviations_and_languages_mapping():
24
- for abb, lang in GOOGLE_CODES_TO_LANGUAGES.items():
25
  g1 = GoogleTranslator(abb)
26
  g2 = GoogleTranslator(lang)
27
  assert g1._source == g2._source
 
4
 
5
  import pytest
6
  from deep_translator import exceptions, GoogleTranslator
7
+ from deep_translator.constants import GOOGLE_LANGUAGES_TO_CODES
8
 
9
 
10
  @pytest.fixture
 
21
 
22
 
23
  def test_abbreviations_and_languages_mapping():
24
+ for abb, lang in GOOGLE_LANGUAGES_TO_CODES.items():
25
  g1 = GoogleTranslator(abb)
26
  g2 = GoogleTranslator(lang)
27
  assert g1._source == g2._source
tests/test_libre.py CHANGED
@@ -4,7 +4,7 @@
4
 
5
  import pytest
6
  from deep_translator import exceptions, LibreTranslator
7
- from deep_translator.constants import LIBRE_CODES_TO_LANGUAGES
8
 
9
 
10
  @pytest.fixture
@@ -24,9 +24,9 @@ def test_inputs():
24
 
25
 
26
  def test_abbreviations_and_languages_mapping():
27
- for abb, lang in LIBRE_CODES_TO_LANGUAGES.items():
28
- l1 = LibreTranslator(abb, api_key="some_key")
29
- l2 = LibreTranslator(lang, api_key="some_key")
30
  assert l1._source == l2._source
31
 
32
 
 
4
 
5
  import pytest
6
  from deep_translator import exceptions, LibreTranslator
7
+ from deep_translator.constants import LIBRE_LANGUAGES_TO_CODES
8
 
9
 
10
  @pytest.fixture
 
24
 
25
 
26
  def test_abbreviations_and_languages_mapping():
27
+ for abb, lang in LIBRE_LANGUAGES_TO_CODES.items():
28
+ l1 = LibreTranslator(source=abb, api_key="some_key")
29
+ l2 = LibreTranslator(source=lang, api_key="some_key")
30
  assert l1._source == l2._source
31
 
32