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

More details

Full run details