0
0
Fork 0

[instagram] Fix info_dict key name

main
Philipp Hagemeister 2014-03-24 01:40:09 +01:00
parent 51fb2e98d2
commit 912b38b428
5 changed files with 42 additions and 7 deletions

View File

@ -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)

View File

@ -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()

View File

@ -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,

View File

@ -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']:

View File

@ -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):
"""
@param s a string
"""
assert type(s) == type(u'')
result = re.sub(u'(?u)&(.+?);', htmlentity_transform, s) def unescapeHTML(s):
if s is None:
return None
assert type(s) == compat_str
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"""