From d7533595d42db76f1fc9eeea0bc9546ac8cba791 Mon Sep 17 00:00:00 2001 From: Austin de Coup-Crank Date: Thu, 14 Mar 2019 08:33:31 -0700 Subject: [PATCH 1/4] [ciscolive] Update _VALID_URL patterns --- youtube_dl/extractor/ciscolive.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/youtube_dl/extractor/ciscolive.py b/youtube_dl/extractor/ciscolive.py index c99b6ee58..9e76db718 100644 --- a/youtube_dl/extractor/ciscolive.py +++ b/youtube_dl/extractor/ciscolive.py @@ -65,7 +65,7 @@ class CiscoLiveBaseIE(InfoExtractor): class CiscoLiveSessionIE(CiscoLiveBaseIE): - _VALID_URL = r'https?://ciscolive\.cisco\.com/on-demand-library/\??[^#]*#/session/(?P[^/?&]+)' + _VALID_URL = r'https?://(?:www\.)?ciscolive(?:\.cisco)?\.com/[^#]*#/session/(?P[^/?&]+)' _TEST = { 'url': 'https://ciscolive.cisco.com/on-demand-library/?#/session/1423353499155001FoSs', 'md5': 'c98acf395ed9c9f766941c70f5352e22', @@ -88,7 +88,7 @@ class CiscoLiveSessionIE(CiscoLiveBaseIE): class CiscoLiveSearchIE(CiscoLiveBaseIE): - _VALID_URL = r'https?://ciscolive\.cisco\.com/on-demand-library/' + _VALID_URL = r'https?://(?:www\.)?ciscolive(?:\.cisco)?\.com/[^?]*\?search' _TESTS = [{ 'url': 'https://ciscolive.cisco.com/on-demand-library/?search.event=ciscoliveus2018&search.technicallevel=scpsSkillLevel_aintroductory&search.focus=scpsSessionFocus_designAndDeployment#/', 'info_dict': { From 86eee62494dfc791e591c10d898c7c929f00cb40 Mon Sep 17 00:00:00 2001 From: Austin de Coup-Crank Date: Thu, 14 Mar 2019 08:50:20 -0700 Subject: [PATCH 2/4] [ciscolive] Added new test --- youtube_dl/extractor/ciscolive.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/youtube_dl/extractor/ciscolive.py b/youtube_dl/extractor/ciscolive.py index 9e76db718..d9236146f 100644 --- a/youtube_dl/extractor/ciscolive.py +++ b/youtube_dl/extractor/ciscolive.py @@ -66,7 +66,7 @@ class CiscoLiveBaseIE(InfoExtractor): class CiscoLiveSessionIE(CiscoLiveBaseIE): _VALID_URL = r'https?://(?:www\.)?ciscolive(?:\.cisco)?\.com/[^#]*#/session/(?P[^/?&]+)' - _TEST = { + _TESTS = [{ 'url': 'https://ciscolive.cisco.com/on-demand-library/?#/session/1423353499155001FoSs', 'md5': 'c98acf395ed9c9f766941c70f5352e22', 'info_dict': { @@ -79,7 +79,20 @@ class CiscoLiveSessionIE(CiscoLiveBaseIE): 'uploader_id': '5647924234001', 'location': '16B Mezz.', }, - } + }, { + 'url': 'https://www.ciscolive.com/global/on-demand-library.html?search.event=ciscoliveemea2019#/session/15361595531500013WOU', + 'md5': '8e39c9ae3b56587f278710ce756b14ad', + 'info_dict': { + 'id': '5996480053001', + 'ext': 'mp4', + 'title': 'A Closer Look: Monitoring Network Policies in ACI Using Correlated, Real Time Application Performance Visibility from AppDynamics', + 'description': 'md5:59235fa58d7015cba08cb67e3767dc7c', + 'timestamp': 1548873245, + 'upload_date': '20190130', + 'uploader_id': '5647924234001', + 'location': 'Hall 6 - The Hub, DevNet Classroom 1', + }, + }] def _real_extract(self, url): rf_id = self._match_id(url) @@ -140,3 +153,4 @@ class CiscoLiveSearchIE(CiscoLiveBaseIE): query['type'] = 'session' return self.playlist_result( self._entries(query, url), playlist_title='Search query') + From a52cd28c01a83d28032f2972f71db72c01dd98a6 Mon Sep 17 00:00:00 2001 From: Austin de Coup-Crank Date: Thu, 14 Mar 2019 11:00:28 -0700 Subject: [PATCH 3/4] [ciscolive] Changes requested by maintainers --- youtube_dl/extractor/ciscolive.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/youtube_dl/extractor/ciscolive.py b/youtube_dl/extractor/ciscolive.py index d9236146f..ed08f2422 100644 --- a/youtube_dl/extractor/ciscolive.py +++ b/youtube_dl/extractor/ciscolive.py @@ -90,8 +90,11 @@ class CiscoLiveSessionIE(CiscoLiveBaseIE): 'timestamp': 1548873245, 'upload_date': '20190130', 'uploader_id': '5647924234001', - 'location': 'Hall 6 - The Hub, DevNet Classroom 1', + 'location': 'Hall 6 - The Hub, DevNet Classroom 1', }, + }, { + 'url': 'https://www.ciscolive.com/global/on-demand-library.html?#/session/1490051371645001kNaS', + 'only_matching': True, }] def _real_extract(self, url): @@ -101,7 +104,7 @@ class CiscoLiveSessionIE(CiscoLiveBaseIE): class CiscoLiveSearchIE(CiscoLiveBaseIE): - _VALID_URL = r'https?://(?:www\.)?ciscolive(?:\.cisco)?\.com/[^?]*\?search' + _VALID_URL = r'https?://(?:www\.)?ciscolive(?:\.cisco)?\.com/(?:global/)?on-demand-library(?:\.html|/)' _TESTS = [{ 'url': 'https://ciscolive.cisco.com/on-demand-library/?search.event=ciscoliveus2018&search.technicallevel=scpsSkillLevel_aintroductory&search.focus=scpsSessionFocus_designAndDeployment#/', 'info_dict': { @@ -111,6 +114,9 @@ class CiscoLiveSearchIE(CiscoLiveBaseIE): }, { 'url': 'https://ciscolive.cisco.com/on-demand-library/?search.technology=scpsTechnology_applicationDevelopment&search.technology=scpsTechnology_ipv6&search.focus=scpsSessionFocus_troubleshootingTroubleshooting#/', 'only_matching': True, + }, { + 'url': 'https://www.ciscolive.com/global/on-demand-library.html?search.technicallevel=scpsSkillLevel_aintroductory&search.event=ciscoliveemea2019&search.technology=scpsTechnology_dataCenter&search.focus=scpsSessionFocus_bestPractices#/', + 'only_matching': True, }] @classmethod @@ -153,4 +159,3 @@ class CiscoLiveSearchIE(CiscoLiveBaseIE): query['type'] = 'session' return self.playlist_result( self._entries(query, url), playlist_title='Search query') - From f42ff38ba525295a91bf32af5316bff0985ab9a0 Mon Sep 17 00:00:00 2001 From: Sergey M Date: Sun, 17 Mar 2019 07:16:57 +0700 Subject: [PATCH 4/4] Update ciscolive.py --- youtube_dl/extractor/ciscolive.py | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/youtube_dl/extractor/ciscolive.py b/youtube_dl/extractor/ciscolive.py index ed08f2422..da404e4dc 100644 --- a/youtube_dl/extractor/ciscolive.py +++ b/youtube_dl/extractor/ciscolive.py @@ -81,17 +81,7 @@ class CiscoLiveSessionIE(CiscoLiveBaseIE): }, }, { 'url': 'https://www.ciscolive.com/global/on-demand-library.html?search.event=ciscoliveemea2019#/session/15361595531500013WOU', - 'md5': '8e39c9ae3b56587f278710ce756b14ad', - 'info_dict': { - 'id': '5996480053001', - 'ext': 'mp4', - 'title': 'A Closer Look: Monitoring Network Policies in ACI Using Correlated, Real Time Application Performance Visibility from AppDynamics', - 'description': 'md5:59235fa58d7015cba08cb67e3767dc7c', - 'timestamp': 1548873245, - 'upload_date': '20190130', - 'uploader_id': '5647924234001', - 'location': 'Hall 6 - The Hub, DevNet Classroom 1', - }, + 'only_matching': True, }, { 'url': 'https://www.ciscolive.com/global/on-demand-library.html?#/session/1490051371645001kNaS', 'only_matching': True,