Browse Source

Support TeamCoco URLs with video_id in the title

If the URL has the video_id in it, use that since the current method of
finding the id breaks on those pages.

Fixes 2698.
AGSPhoenix 11 years ago
parent
commit
04ee53eca1
1 changed files with 8 additions and 6 deletions
  1. 8 6
      youtube_dl/extractor/teamcoco.py

+ 8 - 6
youtube_dl/extractor/teamcoco.py

@@ -9,7 +9,7 @@ from ..utils import (
 
 
 
 
 class TeamcocoIE(InfoExtractor):
 class TeamcocoIE(InfoExtractor):
-    _VALID_URL = r'http://teamcoco\.com/video/(?P<url_title>.*)'
+    _VALID_URL = r'http://teamcoco\.com/video/(?P<video_id>\d*)?/?(?P<url_title>.*)'
     _TEST = {
     _TEST = {
         'url': 'http://teamcoco.com/video/louis-ck-interview-george-w-bush',
         'url': 'http://teamcoco.com/video/louis-ck-interview-george-w-bush',
         'file': '19705.mp4',
         'file': '19705.mp4',
@@ -26,11 +26,13 @@ class TeamcocoIE(InfoExtractor):
             raise ExtractorError('Invalid URL: %s' % url)
             raise ExtractorError('Invalid URL: %s' % url)
         url_title = mobj.group('url_title')
         url_title = mobj.group('url_title')
         webpage = self._download_webpage(url, url_title)
         webpage = self._download_webpage(url, url_title)
-
-        video_id = self._html_search_regex(
-            r'<article class="video" data-id="(\d+?)"',
-            webpage, 'video id')
-
+        
+        video_id = mobj.group("video_id")
+        if video_id == '':
+            video_id = self._html_search_regex(
+                r'<article class="video" data-id="(\d+?)"',
+                webpage, 'video id')
+        
         self.report_extraction(video_id)
         self.report_extraction(video_id)
 
 
         data_url = 'http://teamcoco.com/cvp/2.0/%s.xml' % video_id
         data_url = 'http://teamcoco.com/cvp/2.0/%s.xml' % video_id