mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2026-08-21 19:46:17 +03:00
[utils] float_or_none: Catch OverflowError (#17299)
Authored by: doe1080
This commit is contained in:
@@ -626,6 +626,7 @@ class TestUtil(unittest.TestCase):
|
|||||||
self.assertEqual(float_or_none(None), None)
|
self.assertEqual(float_or_none(None), None)
|
||||||
self.assertEqual(float_or_none([]), None)
|
self.assertEqual(float_or_none([]), None)
|
||||||
self.assertEqual(float_or_none(set()), None)
|
self.assertEqual(float_or_none(set()), None)
|
||||||
|
self.assertEqual(float_or_none(sys.float_info.radix ** sys.float_info.max_exp), None)
|
||||||
|
|
||||||
def test_int_or_none(self):
|
def test_int_or_none(self):
|
||||||
self.assertEqual(int_or_none('42'), 42)
|
self.assertEqual(int_or_none('42'), 42)
|
||||||
|
|||||||
@@ -2060,7 +2060,7 @@ def float_or_none(v, scale=1, invscale=1, default=None):
|
|||||||
scale = 1
|
scale = 1
|
||||||
try:
|
try:
|
||||||
return float(v) * invscale / scale
|
return float(v) * invscale / scale
|
||||||
except (ValueError, TypeError):
|
except (ValueError, TypeError, OverflowError):
|
||||||
return default
|
return default
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user