diff options
author | Nevar Angelo <psi.neamf@gmail.com> | 2010-11-17 20:55:30 +0200 |
---|---|---|
committer | Nevar Angelo <psi.neamf@gmail.com> | 2010-11-17 20:55:30 +0200 |
commit | b3a27b52171761e23060d6dbd7183359d0bad650 (patch) | |
tree | d9b8ded219602ffa545b75ca9d03be31081d4a89 | |
parent | 5e596cac0adcb7e4321f0c9d84e1a813ab26777e (diff) |
Added 'uploaddate' output sequence for YoutubeIE.
-rwxr-xr-x | youtube-dl | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/youtube-dl b/youtube-dl index dbb505f19..1a53c2c41 100755 --- a/youtube-dl +++ b/youtube-dl @@ -5,6 +5,7 @@ # Author: Benjamin Johnson # License: Public domain code import cookielib +import datetime import htmlentitydefs import httplib import locale @@ -894,6 +895,18 @@ class YoutubeIE(InfoExtractor): else: # don't panic if we can't find it video_thumbnail = urllib.unquote_plus(video_info['thumbnail_url'][0]) + # upload date + upload_date = u'NA' + mobj = re.search(r'id="eow-date".*?>(.*?)</span>', video_webpage, re.DOTALL) + if mobj is not None: + upload_date = mobj.group(1).split() + format_expressions = ['%d %B %Y', '%B %d, %Y'] + for expression in format_expressions: + try: + upload_date = datetime.datetime.strptime(upload_date, expression).strftime('%Y%m%d') + except: + pass + # description video_description = 'No description available.' if self._downloader.params.get('forcedescription', False): @@ -948,6 +961,7 @@ class YoutubeIE(InfoExtractor): 'id': video_id.decode('utf-8'), 'url': video_real_url.decode('utf-8'), 'uploader': video_uploader.decode('utf-8'), + 'uploaddate': upload_date, 'title': video_title, 'stitle': simple_title, 'ext': video_extension.decode('utf-8'), @@ -1094,6 +1108,7 @@ class MetacafeIE(InfoExtractor): 'id': video_id.decode('utf-8'), 'url': video_url.decode('utf-8'), 'uploader': video_uploader.decode('utf-8'), + 'uploaddate': u'NA', 'title': video_title, 'stitle': simple_title, 'ext': video_extension.decode('utf-8'), @@ -1182,6 +1197,7 @@ class DailymotionIE(InfoExtractor): 'id': video_id.decode('utf-8'), 'url': video_url.decode('utf-8'), 'uploader': video_uploader.decode('utf-8'), + 'uploaddate': u'NA', 'title': video_title, 'stitle': simple_title, 'ext': video_extension.decode('utf-8'), @@ -1291,6 +1307,7 @@ class GoogleIE(InfoExtractor): 'id': video_id.decode('utf-8'), 'url': video_url.decode('utf-8'), 'uploader': u'NA', + 'uploaddate': u'NA', 'title': video_title, 'stitle': simple_title, 'ext': video_extension.decode('utf-8'), @@ -1372,6 +1389,7 @@ class PhotobucketIE(InfoExtractor): 'id': video_id.decode('utf-8'), 'url': video_url.decode('utf-8'), 'uploader': video_uploader, + 'uploaddate': u'NA', 'title': video_title, 'stitle': simple_title, 'ext': video_extension.decode('utf-8'), @@ -1526,6 +1544,7 @@ class YahooIE(InfoExtractor): 'id': video_id.decode('utf-8'), 'url': video_url, 'uploader': video_uploader, + 'uploaddate': u'NA', 'title': video_title, 'stitle': simple_title, 'ext': video_extension.decode('utf-8'), @@ -1628,6 +1647,7 @@ class GenericIE(InfoExtractor): 'id': video_id.decode('utf-8'), 'url': video_url.decode('utf-8'), 'uploader': video_uploader, + 'uploaddate': u'NA', 'title': video_title, 'stitle': simple_title, 'ext': video_extension.decode('utf-8'), |