瀏覽代碼

[reverbnation] The 'uploader_id' field must be a string

Jaime Marquínez Ferrándiz 11 年之前
父節點
當前提交
40a90862f4
共有 2 個文件被更改,包括 6 次插入3 次删除
  1. 3 3
      youtube_dl/extractor/reverbnation.py
  2. 3 0
      youtube_dl/utils.py

+ 3 - 3
youtube_dl/extractor/reverbnation.py

@@ -3,7 +3,7 @@ from __future__ import unicode_literals
 import re
 
 from .common import InfoExtractor
-from ..utils import strip_jsonp
+from ..utils import str_or_none
 
 
 class ReverbNationIE(InfoExtractor):
@@ -16,7 +16,7 @@ class ReverbNationIE(InfoExtractor):
             "ext": "mp3",
             "title": "MONA LISA",
             "uploader": "ALKILADOS",
-            "uploader_id": 216429,
+            "uploader_id": "216429",
             "thumbnail": "re:^https://gp1\.wac\.edgecastcdn\.net/.*?\.jpg$"
         },
     }]
@@ -36,7 +36,7 @@ class ReverbNationIE(InfoExtractor):
             'title': api_res.get('name'),
             'url': api_res.get('url'),
             'uploader': api_res.get('artist', {}).get('name'),
-            'uploader_id': api_res.get('artist', {}).get('id'),
+            'uploader_id': str_or_none(api_res.get('artist', {}).get('id')),
             'thumbnail': self._proto_relative_url(
                 api_res.get('image', api_res.get('thumbnail'))),
             'ext': 'mp3',

+ 3 - 0
youtube_dl/utils.py

@@ -1275,6 +1275,9 @@ def int_or_none(v, scale=1, default=None, get_attr=None, invscale=1):
             v = getattr(v, get_attr, None)
     return default if v is None else (int(v) * invscale // scale)
 
+def str_or_none(v, default=None):
+    return default if v is None else compat_str(v)
+
 
 def str_to_int(int_str):
     if int_str is None: