New Upstream Release - gtts-token
Ready changes
Summary
Merged new upstream version: 1.1.4 (was: 1.1.3).
Resulting package
Built on 2023-03-15T09:52 (took 3m26s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-releases python3-gtts-token
Lintian Result
Diff
diff --git a/PKG-INFO b/PKG-INFO
index ca7ea2c..28f8a0e 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: gTTS-token
-Version: 1.1.3
+Version: 1.1.4
Summary: Calculates a token to run the Google Translate text to speech
Home-page: https://github.com/boudewijn26/gTTS-token
Author: Boudewijn van Groos
@@ -35,3 +35,4 @@ Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
+Description-Content-Type: text/markdown
diff --git a/debian/changelog b/debian/changelog
index 57b1c91..559092d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+gtts-token (1.1.4-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk> Wed, 15 Mar 2023 09:49:49 -0000
+
gtts-token (1.1.3-3) unstable; urgency=medium
* Update standards version to 4.6.0, no changes needed.
diff --git a/gTTS_token.egg-info/PKG-INFO b/gTTS_token.egg-info/PKG-INFO
index ca7ea2c..28f8a0e 100644
--- a/gTTS_token.egg-info/PKG-INFO
+++ b/gTTS_token.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: gTTS-token
-Version: 1.1.3
+Version: 1.1.4
Summary: Calculates a token to run the Google Translate text to speech
Home-page: https://github.com/boudewijn26/gTTS-token
Author: Boudewijn van Groos
@@ -35,3 +35,4 @@ Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
+Description-Content-Type: text/markdown
diff --git a/gtts_token/gtts_token.py b/gtts_token/gtts_token.py
index ed4a2fc..1538664 100644
--- a/gtts_token/gtts_token.py
+++ b/gtts_token/gtts_token.py
@@ -15,8 +15,15 @@ class Token:
SALT_1 = "+-a^+6"
SALT_2 = "+-3^+b+-f"
- def __init__(self):
+
+ def __init__(self, max_retries=5, country_domain_name='com'):
+ """
+ :param max_retries: int Number of conducted token key retrieval retries
+ before error will be thrown """
self.token_key = None
+ self.country_domain_name = country_domain_name
+ self._max_retries = max_retries
+
def calculate_token(self, text, seed=None):
""" Calculate the request token (`tk`) of a string
@@ -25,7 +32,10 @@ class Token:
"""
if seed is None:
- seed = self._get_token_key()
+ if self.token_key is None:
+ seed = self._get_token_key()
+ else:
+ seed = self.token_key
[first_seed, second_seed] = seed.split(".")
@@ -48,27 +58,29 @@ class Token:
a = int(a)
return str(a) + "." + str(a ^ int(first_seed))
- def _get_token_key(self):
- if self.token_key is not None:
- return self.token_key
-
- response = requests.get("https://translate.google.com/")
+ def _get_token_key(self, retry=0):
+ response = requests.get("https://translate.google.%s/" % self.country_domain_name)
tkk_expr = re.search("(tkk:.*?),", response.text)
- if not tkk_expr:
- raise ValueError(
- "Unable to find token seed! Did https://translate.google.com change?"
- )
+
+ if tkk_expr is None:
+ if retry == self._max_retries:
+ raise ValueError(
+ "Unable to find token seed! Did https://translate.google.com change?"
+ )
+ else:
+ return self._get_token_key(retry=retry + 1)
+
tkk_expr = tkk_expr.group(1)
try:
# Grab the token directly if already generated by function call
- result = re.search("\d{6}\.[0-9]+", tkk_expr).group(0)
+ result = re.search(r"\d{6}\.[0-9]+", tkk_expr).group(0)
except AttributeError:
# Generate the token using algorithm
timestamp = calendar.timegm(time.gmtime())
hours = int(math.floor(timestamp / 3600))
- a = re.search("a\\\\x3d(-?\d+);", tkk_expr).group(1)
- b = re.search("b\\\\x3d(-?\d+);", tkk_expr).group(1)
+ a = re.search(r"a\\\\x3d(-?\d+);", tkk_expr).group(1)
+ b = re.search(r"b\\\\x3d(-?\d+);", tkk_expr).group(1)
result = str(hours) + "." + str(int(a) + int(b))
@@ -85,4 +97,4 @@ class Token:
d = ord(char[0]) - 87 if char >= "a" else int(char)
d = self._rshift(a, d) if seed[i + 1] == "+" else a << d
a = a + d & 4294967295 if seed[i] == "+" else a ^ d
- return a
+ return a
\ No newline at end of file
diff --git a/gtts_token/version.py b/gtts_token/version.py
index 7bb021e..bc50bee 100644
--- a/gtts_token/version.py
+++ b/gtts_token/version.py
@@ -1 +1 @@
-__version__ = '1.1.3'
+__version__ = '1.1.4'
diff --git a/setup.py b/setup.py
index 417821d..d6dfaf7 100644
--- a/setup.py
+++ b/setup.py
@@ -15,6 +15,7 @@ setup(
license='MIT',
description='Calculates a token to run the Google Translate text to speech',
long_description=open('README.md').read(),
+ long_description_content_type="text/markdown",
install_requires=[
"requests"
],
Debdiff
[The following lists of changes regard files as different if they have different names, permissions or owners.]
Files in second set of .debs but not in first
-rw-r--r-- root/root /usr/lib/python3/dist-packages/gTTS_token-1.1.4.egg-info/PKG-INFO -rw-r--r-- root/root /usr/lib/python3/dist-packages/gTTS_token-1.1.4.egg-info/dependency_links.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/gTTS_token-1.1.4.egg-info/requires.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/gTTS_token-1.1.4.egg-info/top_level.txt
Files in first set of .debs but not in second
-rw-r--r-- root/root /usr/lib/python3/dist-packages/gTTS_token-1.1.3.egg-info/PKG-INFO -rw-r--r-- root/root /usr/lib/python3/dist-packages/gTTS_token-1.1.3.egg-info/dependency_links.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/gTTS_token-1.1.3.egg-info/requires.txt -rw-r--r-- root/root /usr/lib/python3/dist-packages/gTTS_token-1.1.3.egg-info/top_level.txt
No differences were encountered in the control files