[bip.tv] Allow underscore in lookup ids (Fixes #3573)
authorPhilipp Hagemeister <phihag@phihag.de>
Sun, 24 Aug 2014 01:20:31 +0000 (03:20 +0200)
committerPhilipp Hagemeister <phihag@phihag.de>
Sun, 24 Aug 2014 01:20:31 +0000 (03:20 +0200)
youtube_dl/extractor/bliptv.py
youtube_dl/extractor/generic.py

index 4e80d829345a644158f535df8abfcb0e36d9c018..261ead98f53f1747943d22935e04ab2d3a908d11 100644 (file)
@@ -15,7 +15,7 @@ from ..utils import (
 
 
 class BlipTVIE(SubtitlesInfoExtractor):
-    _VALID_URL = r'https?://(?:\w+\.)?blip\.tv/(?:(?:.+-|rss/flash/)(?P<id>\d+)|((?:play/|api\.swf#)(?P<lookup_id>[\da-zA-Z+]+)))'
+    _VALID_URL = r'https?://(?:\w+\.)?blip\.tv/(?:(?:.+-|rss/flash/)(?P<id>\d+)|((?:play/|api\.swf#)(?P<lookup_id>[\da-zA-Z+_TESTS]+)))'
 
     _TESTS = [
         {
index f05ac4d38d57ec70621625b0d1a052fa1400e5ea..8b2d1d033ab2f260e49b18c8ecc7d1d3fc695eaf 100644 (file)
@@ -640,7 +640,7 @@ class GenericIE(InfoExtractor):
         mobj = re.search(r'<meta\s[^>]*https?://api\.blip\.tv/\w+/redirect/\w+/(\d+)', webpage)
         if mobj:
             return self.url_result('http://blip.tv/a/a-'+mobj.group(1), 'BlipTV')
-        mobj = re.search(r'<(?:iframe|embed|object)\s[^>]*(https?://(?:\w+\.)?blip\.tv/(?:play/|api\.swf#)[a-zA-Z0-9]+)', webpage)
+        mobj = re.search(r'<(?:iframe|embed|object)\s[^>]*(https?://(?:\w+\.)?blip\.tv/(?:play/|api\.swf#)[a-zA-Z0-9_]+)', webpage)
         if mobj:
             return self.url_result(mobj.group(1), 'BlipTV')