[redditr] Extract duration (#27426)
authorTrevor Nelson <25140503+trevnels@users.noreply.github.com>
Thu, 17 Dec 2020 16:21:36 +0000 (11:21 -0500)
committerGitHub <noreply@github.com>
Thu, 17 Dec 2020 16:21:36 +0000 (23:21 +0700)
youtube_dl/extractor/reddit.py

index 663f622b372d35577b85da9654b18f81f7c811a7..3b2abb262838e8c4ee24d9aac1107a74eb31a545 100644 (file)
@@ -7,6 +7,7 @@ from ..utils import (
     ExtractorError,
     int_or_none,
     float_or_none,
+    try_get,
     url_or_none,
 )
 
@@ -59,6 +60,7 @@ class RedditRIE(InfoExtractor):
             'timestamp': 1501941939,
             'upload_date': '20170805',
             'uploader': 'Antw87',
+            'duration': 12,
             'like_count': int,
             'dislike_count': int,
             'comment_count': int,
@@ -123,6 +125,10 @@ class RedditRIE(InfoExtractor):
             'thumbnail': url_or_none(data.get('thumbnail')),
             'timestamp': float_or_none(data.get('created_utc')),
             'uploader': data.get('author'),
+            'duration': int_or_none(try_get(
+                data,
+                (lambda x: x['media']['reddit_video']['duration'],
+                 lambda x: x['secure_media']['reddit_video']['duration']))),
             'like_count': int_or_none(data.get('ups')),
             'dislike_count': int_or_none(data.get('downs')),
             'comment_count': int_or_none(data.get('num_comments')),