[bambuser] Modernize and extract more metadata
authorSergey M․ <dstftw@gmail.com>
Mon, 20 Apr 2015 16:46:01 +0000 (22:46 +0600)
committerSergey M․ <dstftw@gmail.com>
Mon, 20 Apr 2015 16:46:01 +0000 (22:46 +0600)
youtube_dl/extractor/bambuser.py

index d52302ebcc4a8883dbd2420c708f6d0c44a88373..93913c3f4576e0dfec73e65c5ada9717f533cfcb 100644 (file)
@@ -4,8 +4,15 @@ import re
 import itertools
 
 from .common import InfoExtractor
-from ..compat import compat_urllib_request
-from ..utils import ExtractorError
+from ..compat import (
+    compat_urllib_request,
+    compat_str,
+)
+from ..utils import (
+    ExtractorError,
+    int_or_none,
+    float_or_none,
+)
 
 
 class BambuserIE(InfoExtractor):
@@ -24,6 +31,9 @@ class BambuserIE(InfoExtractor):
             'duration': 3741,
             'uploader': 'pixelversity',
             'uploader_id': '344706',
+            'timestamp': 1382976692,
+            'upload_date': '20131028',
+            'view_count': int,
         },
         'params': {
             # It doesn't respect the 'Range' header, it would download the whole video
@@ -51,10 +61,13 @@ class BambuserIE(InfoExtractor):
             'title': result['title'],
             'url': result['url'],
             'thumbnail': result.get('preview'),
-            'duration': int(result['length']),
-            'view_count': int(result['views_total']),
-            'uploader': result['username'],
-            'uploader_id': result['owner']['uid'],
+            'duration': int_or_none(result.get('length')),
+            'uploader': result.get('username'),
+            'uploader_id': compat_str(result.get('owner', {}).get('uid')),
+            'timestamp': int_or_none(result.get('created')),
+            'fps': float_or_none(result.get('framerate')),
+            'view_count': int_or_none(result.get('views_total')),
+            'comment_count': int_or_none(result.get('comment_count')),
         }