1
0
mirror of https://github.com/ytdl-org/youtube-dl.git synced 2025-02-06 18:20:02 +00:00

Use subsidiary page's media ID, not parent page

Video IDs should be based on the unique ID of the video, not the
meeting ID of the parent page that links to the media
page. Unfortunately we don't learn the media ID until after
downloading the first page.
This commit is contained in:
John Hawkinson 2016-10-10 02:24:39 -04:00
parent 87af84de37
commit cb2e9ec69e

View File

@ -40,7 +40,7 @@ class IQM2IE(JWPlatformBaseIE):
'url': 'http://somervillecityma.iqm2.com/Citizens/SplitView.aspx?Mode=Video&MeetingID=2308', 'url': 'http://somervillecityma.iqm2.com/Citizens/SplitView.aspx?Mode=Video&MeetingID=2308',
'md5': '9ef458ff6c93f8b9323cf79db4ede9cf', 'md5': '9ef458ff6c93f8b9323cf79db4ede9cf',
'info_dict': { 'info_dict': {
'id': '2308', 'id': '70472',
'ext': 'mp4', 'ext': 'mp4',
'title': 'City of Somerville, Massachusetts', 'title': 'City of Somerville, Massachusetts',
}}, }},
@ -49,7 +49,7 @@ class IQM2IE(JWPlatformBaseIE):
'url': 'http://cambridgema.iqm2.com/Citizens/SplitView.aspx?Mode=Video&MeetingID=1679#', 'url': 'http://cambridgema.iqm2.com/Citizens/SplitView.aspx?Mode=Video&MeetingID=1679#',
'md5': '478ea30eee1966f7be0d8dd623122148', 'md5': '478ea30eee1966f7be0d8dd623122148',
'info_dict': { 'info_dict': {
'id': '1679', 'id': '1563',
'ext': 'mp4', 'ext': 'mp4',
'title': 'Cambridge, MA', 'title': 'Cambridge, MA',
}}, }},
@ -64,8 +64,8 @@ class IQM2IE(JWPlatformBaseIE):
return mobj.group('options') return mobj.group('options')
def _real_extract(self, url): def _real_extract(self, url):
video_id = self._match_id(url) parent_id = self._match_id(url)
webpage = self._download_webpage(url, video_id) webpage = self._download_webpage(url, parent_id)
# Take, e.g. # Take, e.g.
# http://cambridgema.iqm2.com/Citizens/SplitView.aspx?Mode=Video&MeetingID=1679 # http://cambridgema.iqm2.com/Citizens/SplitView.aspx?Mode=Video&MeetingID=1679
@ -78,6 +78,10 @@ class IQM2IE(JWPlatformBaseIE):
webpage, 'url'); webpage, 'url');
inner_url = compat_urlparse.urljoin(url, inner_url_rel) inner_url = compat_urlparse.urljoin(url, inner_url_rel)
mobj = re.match(
r'(?i)https?://(?:\w+\.)?iqm2\.com/Citizens/\w+.aspx\?.*MediaID=(?P<id>[0-9]+)',
inner_url)
video_id = mobj.group('id')
webpage = self._download_webpage(inner_url, video_id) webpage = self._download_webpage(inner_url, video_id)
info_dict = self._extract_jwplayer_data( info_dict = self._extract_jwplayer_data(