mirror of
https://github.com/l1ving/youtube-dl
synced 2024-11-20 19:02:56 +08:00
[instagram] Fix info_dict key name
This commit is contained in:
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):
|
|
||||||
"""
|
|
||||||
@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"""
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user