summary refs log tree commit diff
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2016-01-26 20:42:20 +0600
committerSergey M․ <dstftw@gmail.com>2016-01-26 20:42:20 +0600
commitf693213567010ecc108447cba4615ae2932d1c18 (patch)
tree7eda5a08b11f8a5ae3a4a2ad3041016bb96dc976
parent9165d6bab9ae3cc98984ebeb249ef320b9f4db83 (diff)
downloadyoutube-dl-f693213567010ecc108447cba4615ae2932d1c18.tar.gz
youtube-dl-f693213567010ecc108447cba4615ae2932d1c18.tar.xz
youtube-dl-f693213567010ecc108447cba4615ae2932d1c18.zip
[cspan] Fix clip/prog id extraction (#8317)
-rw-r--r--youtube_dl/extractor/cspan.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/youtube_dl/extractor/cspan.py b/youtube_dl/extractor/cspan.py
index b3ee67018..f78cbbd7e 100644
--- a/youtube_dl/extractor/cspan.py
+++ b/youtube_dl/extractor/cspan.py
@@ -68,11 +68,16 @@ class CSpanIE(InfoExtractor):
             video_type, video_id = matches.groups()
             video_type = 'clip' if video_type == 'id' else 'program'
         else:
-            senate_isvp_url = SenateISVPIE._search_iframe_url(webpage)
-            if senate_isvp_url:
-                title = self._og_search_title(webpage)
-                surl = smuggle_url(senate_isvp_url, {'force_title': title})
-                return self.url_result(surl, 'SenateISVP', video_id, title)
+            m = re.search(r'data-(?P<type>clip|prog)id=["\'](?P<id>\d+)', webpage)
+            if m:
+                video_id = m.group('id')
+                video_type = 'program' if m.group('type') == 'prog' else 'clip'
+            else:
+                senate_isvp_url = SenateISVPIE._search_iframe_url(webpage)
+                if senate_isvp_url:
+                    title = self._og_search_title(webpage)
+                    surl = smuggle_url(senate_isvp_url, {'force_title': title})
+                    return self.url_result(surl, 'SenateISVP', video_id, title)
         if video_type is None or video_id is None:
             raise ExtractorError('unable to find video id and type')