Browse Source

[instagram] Fix info_dict key name

totalwebcasting
Philipp Hagemeister 11 years ago
parent
commit
912b38b428
5 changed files with 41 additions and 6 deletions
  1. +2
    -0
      test/test_playlists.py
  2. +6
    -0
      test/test_utils.py
  3. +1
    -0
      youtube_dl/extractor/__init__.py
  4. +1
    -1
      youtube_dl/extractor/instagram.py
  5. +31
    -5
      youtube_dl/utils.py

+ 2
- 0
test/test_playlists.py View File

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


+ 6
- 0
test/test_utils.py View File

@ -35,6 +35,7 @@ from youtube_dl.utils import (
url_basename,
urlencode_postdata,
xpath_with_ns,
parse_iso8601,
)
if sys.version_info < (3, 0):
@ -266,5 +267,10 @@ class TestUtil(unittest.TestCase):
data = urlencode_postdata({'username': 'foo@bar.com', 'password': '1234'})
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__':
unittest.main()

+ 1
- 0
youtube_dl/extractor/__init__.py View File

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


+ 1
- 1
youtube_dl/extractor/instagram.py View File

@ -89,7 +89,7 @@ class InstagramUserIE(InfoExtractor):
'uploader': user.get('full_name'),
'uploader_id': user.get('username'),
'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']:


+ 31
- 5
youtube_dl/utils.py View File

@ -1,6 +1,7 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import calendar
import contextlib
import ctypes
import datetime
@ -501,13 +502,13 @@ def orderedSet(iterable):
res.append(el)
return res
def unescapeHTML(s):
"""
@param s a string
"""
assert type(s) == type(u'')
if s is None:
return None
assert type(s) == compat_str
result = re.sub(u'(?u)&(.+?);', htmlentity_transform, s)
result = re.sub(r'(?u)&(.+?);', htmlentity_transform, s)
return result
@ -761,6 +762,31 @@ class YoutubeDLHandler(compat_urllib_request.HTTPHandler):
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):
"""Return a string with the date in the format YYYYMMDD"""


Loading…
Cancel
Save