浏览代码

[utils] Do not fail in int_or_none on non-numeric data (Closes #7175)

Sergey M․ 10 年之前
父节点
当前提交
1812afb7b3
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      youtube_dl/utils.py

+ 6 - 1
youtube_dl/utils.py

@@ -1371,7 +1371,12 @@ def int_or_none(v, scale=1, default=None, get_attr=None, invscale=1):
             v = getattr(v, get_attr, None)
             v = getattr(v, get_attr, None)
     if v == '':
     if v == '':
         v = None
         v = None
-    return default if v is None else (int(v) * invscale // scale)
+    if v is None:
+        return default
+    try:
+        return int(v) * invscale // scale
+    except ValueError:
+        pass
 
 
 
 
 def str_or_none(v, default=None):
 def str_or_none(v, default=None):