Explorar o código

[utils] Do not fail in float_or_none on non-numeric data

Sergey M․ %!s(int64=10) %!d(string=hai) anos
pai
achega
caf80631f0
Modificáronse 1 ficheiros con 6 adicións e 1 borrados
  1. 6 1
      youtube_dl/utils.py

+ 6 - 1
youtube_dl/utils.py

@@ -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):