[instagram] Fix info_dict key name

master
Philipp Hagemeister 10 years ago
parent 51fb2e98d2
commit 912b38b428

@ -309,6 +309,8 @@ class TestPlaylists(unittest.TestCase):
'thumbnail': 're:^https?://.*\.jpg', 'thumbnail': 're:^https?://.*\.jpg',
'uploader': 'Porsche', 'uploader': 'Porsche',
'uploader_id': 'porsche', 'uploader_id': 'porsche',
'timestamp': 1387486713,
'upload_date': '20131219',
} }
expect_info_dict(self, EXPECTED, test_video) expect_info_dict(self, EXPECTED, test_video)

@ -35,6 +35,7 @@ from youtube_dl.utils import (
url_basename, url_basename,
urlencode_postdata, urlencode_postdata,
xpath_with_ns, xpath_with_ns,
parse_iso8601,
) )
if sys.version_info < (3, 0): if sys.version_info < (3, 0):
@ -266,5 +267,10 @@ class TestUtil(unittest.TestCase):
data = urlencode_postdata({'username': 'foo@bar.com', 'password': '1234'}) data = urlencode_postdata({'username': 'foo@bar.com', 'password': '1234'})
self.assertTrue(isinstance(data, bytes)) self.assertTrue(isinstance(data, bytes))
def test_parse_iso8601(self):
self.assertEqual(parse_iso8601('2014-03-23T23:04:26+0100'), 1395612266)
self.assertEqual(parse_iso8601('2014-03-23T22:04:26+0000'), 1395612266)
self.assertEqual(parse_iso8601('2014-03-23T22:04:26Z'), 1395612266)
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()

@ -195,6 +195,7 @@ from .ro220 import Ro220IE
from .rottentomatoes import RottenTomatoesIE from .rottentomatoes import RottenTomatoesIE
from .roxwel import RoxwelIE from .roxwel import RoxwelIE
from .rtlnow import RTLnowIE from .rtlnow import RTLnowIE
from .rts import RTSIE
from .rutube import ( from .rutube import (
RutubeIE, RutubeIE,
RutubeChannelIE, RutubeChannelIE,

@ -89,7 +89,7 @@ class InstagramUserIE(InfoExtractor):
'uploader': user.get('full_name'), 'uploader': user.get('full_name'),
'uploader_id': user.get('username'), 'uploader_id': user.get('username'),
'like_count': like_count, 'like_count': like_count,
'upload_timestamp': int_or_none(it.get('created_time')), 'timestamp': int_or_none(it.get('created_time')),
}) })
if not page['items']: if not page['items']:

@ -1,6 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import calendar
import contextlib import contextlib
import ctypes import ctypes
import datetime import datetime
@ -501,13 +502,13 @@ def orderedSet(iterable):
res.append(el) res.append(el)
return res return res
def unescapeHTML(s): def unescapeHTML(s):
""" if s is None:
@param s a string return None
""" assert type(s) == compat_str
assert type(s) == type(u'')
result = re.sub(u'(?u)&(.+?);', htmlentity_transform, s) result = re.sub(r'(?u)&(.+?);', htmlentity_transform, s)
return result return result
@ -761,6 +762,31 @@ class YoutubeDLHandler(compat_urllib_request.HTTPHandler):
https_response = http_response https_response = http_response
def parse_iso8601(date_str):
""" Return a UNIX timestamp from the given date """
if date_str is None:
return None
m = re.search(
r'Z$| ?(?P<sign>\+|-)(?P<hours>[0-9]{2}):?(?P<minutes>[0-9]{2})$',
date_str)
if not m:
timezone = datetime.timedelta()
else:
date_str = date_str[:-len(m.group(0))]
if not m.group('sign'):
timezone = datetime.timedelta()
else:
sign = 1 if m.group('sign') == '+' else -1
timezone = datetime.timedelta(
hours=sign * int(m.group('hours')),
minutes=sign * int(m.group('minutes')))
dt = datetime.datetime.strptime(date_str, '%Y-%m-%dT%H:%M:%S') - timezone
return calendar.timegm(dt.timetuple())
def unified_strdate(date_str): def unified_strdate(date_str):
"""Return a string with the date in the format YYYYMMDD""" """Return a string with the date in the format YYYYMMDD"""

Loading…
Cancel
Save