[utils] handle int values passed to str_to_int
authorRemita Amine <remitamine@gmail.com>
Fri, 29 Nov 2019 16:05:06 +0000 (17:05 +0100)
committerRemita Amine <remitamine@gmail.com>
Fri, 29 Nov 2019 16:39:18 +0000 (17:39 +0100)
test/test_utils.py
youtube_dl/utils.py

index e83c8ea11975d41677abc1e8c2ff78174970db6e..fed94a906bd72c733e743596d917fe6f8d4f4145 100644 (file)
@@ -499,6 +499,7 @@ class TestUtil(unittest.TestCase):
     def test_str_to_int(self):
         self.assertEqual(str_to_int('123,456'), 123456)
         self.assertEqual(str_to_int('123.456'), 123456)
+        self.assertEqual(str_to_int(523), 523)
 
     def test_url_basename(self):
         self.assertEqual(url_basename('http://foo.de/'), '')
index b14603d8ac9e7ade80f8d90254239f814c091bdf..328f037a8aa8313158e543e3c2abf8491ae3d1af 100644 (file)
@@ -3519,8 +3519,8 @@ def str_or_none(v, default=None):
 
 def str_to_int(int_str):
     """ A more relaxed version of int_or_none """
-    if int_str is None:
-        return None
+    if not isinstance(int_str, compat_str):
+        return int_str
     int_str = re.sub(r'[,\.\+]', '', int_str)
     return int(int_str)