[utils] Do not fail in float_or_none on non-numeric data
[youtube-dl] / youtube_dl / utils.py
index 86c693358539451efc6fe4253382ff60427349c6..83b44caaa9a82c0df00eeec5a6cc643a8ad90363 100644 (file)
@@ -1392,7 +1392,12 @@ def str_to_int(int_str):
 
 
 def float_or_none(v, scale=1, invscale=1, default=None):
-    return default if v is None else (float(v) * invscale / scale)
+    if v is None:
+        return default
+    try:
+        return float(v) * invscale / scale
+    except ValueError:
+        return default
 
 
 def parse_duration(s):