[Cinemassacre] Add detection for videos from blip.tv
This commit is contained in:
		| @@ -102,6 +102,15 @@ class BlipTVIE(InfoExtractor): | |||||||
|         }, |         }, | ||||||
|     ] |     ] | ||||||
|  |  | ||||||
|  |     @staticmethod | ||||||
|  |     def _extract_url(webpage): | ||||||
|  |         mobj = re.search(r'<meta\s[^>]*https?://api\.blip\.tv/\w+/redirect/\w+/(\d+)', webpage) | ||||||
|  |         if mobj: | ||||||
|  |             return 'http://blip.tv/a/a-' + mobj.group(1) | ||||||
|  |         mobj = re.search(r'<(?:iframe|embed|object)\s[^>]*(https?://(?:\w+\.)?blip\.tv/(?:play/|api\.swf#)[a-zA-Z0-9_]+)', webpage) | ||||||
|  |         if mobj: | ||||||
|  |             return mobj.group(1) | ||||||
|  |  | ||||||
|     def _real_extract(self, url): |     def _real_extract(self, url): | ||||||
|         mobj = re.match(self._VALID_URL, url) |         mobj = re.match(self._VALID_URL, url) | ||||||
|         lookup_id = mobj.group('lookup_id') |         lookup_id = mobj.group('lookup_id') | ||||||
|   | |||||||
| @@ -36,6 +36,7 @@ from .smotri import SmotriIE | |||||||
| from .condenast import CondeNastIE | from .condenast import CondeNastIE | ||||||
| from .udn import UDNEmbedIE | from .udn import UDNEmbedIE | ||||||
| from .senateisvp import SenateISVPIE | from .senateisvp import SenateISVPIE | ||||||
|  | from .bliptv import BlipTVIE | ||||||
|  |  | ||||||
|  |  | ||||||
| class GenericIE(InfoExtractor): | class GenericIE(InfoExtractor): | ||||||
| @@ -1073,12 +1074,9 @@ class GenericIE(InfoExtractor): | |||||||
|             } |             } | ||||||
|  |  | ||||||
|         # Look for embedded blip.tv player |         # Look for embedded blip.tv player | ||||||
|         mobj = re.search(r'<meta\s[^>]*https?://api\.blip\.tv/\w+/redirect/\w+/(\d+)', webpage) |         bliptv_url = BlipTVIE._extract_url(webpage) | ||||||
|         if mobj: |         if bliptv_url: | ||||||
|             return self.url_result('http://blip.tv/a/a-' + mobj.group(1), 'BlipTV') |             return self.url_result(bliptv_url, 'BlipTV') | ||||||
|         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') |  | ||||||
|  |  | ||||||
|         # Look for embedded condenast player |         # Look for embedded condenast player | ||||||
|         matches = re.findall( |         matches = re.findall( | ||||||
|   | |||||||
| @@ -7,7 +7,9 @@ from .common import InfoExtractor | |||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     int_or_none, |     int_or_none, | ||||||
|     unified_strdate, |     unified_strdate, | ||||||
|  |     ExtractorError | ||||||
| ) | ) | ||||||
|  | from .bliptv import BlipTVIE | ||||||
|  |  | ||||||
|  |  | ||||||
| class ScreenwaveMediaIE(InfoExtractor): | class ScreenwaveMediaIE(InfoExtractor): | ||||||
| @@ -104,6 +106,20 @@ class CinemassacreIE(InfoExtractor): | |||||||
|                 'upload_date': '20131002', |                 'upload_date': '20131002', | ||||||
|                 'title': 'The Mummy’s Hand (1940)', |                 'title': 'The Mummy’s Hand (1940)', | ||||||
|             }, |             }, | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |             'url': 'http://cinemassacre.com/2006/12/07/chronologically-confused-about-bad-movie-and-video-game-sequel-titles/', | ||||||
|  |             'md5': 'ca9b3c8dd5a66f9375daeb5135f5a3de', | ||||||
|  |             'info_dict': { | ||||||
|  |                 'id': '4065369', | ||||||
|  |                 'ext': 'flv', | ||||||
|  |                 'title': 'AVGN: Chronologically Confused about Bad Movie and Video Game Sequel Titles', | ||||||
|  |                 'upload_date': '20061207', | ||||||
|  |                 'uploader': 'cinemassacre', | ||||||
|  |                 'uploader_id': '250778', | ||||||
|  |                 'timestamp': 1283233867, | ||||||
|  |                 'description': 'md5:0a108c78d130676b207d0f6d029ecffd', | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|     ] |     ] | ||||||
|  |  | ||||||
| @@ -116,7 +132,12 @@ class CinemassacreIE(InfoExtractor): | |||||||
|  |  | ||||||
|         playerdata_url = self._search_regex( |         playerdata_url = self._search_regex( | ||||||
|             r'src="(http://player\.screenwavemedia\.com/play/[a-zA-Z]+\.php\?[^"]*\bid=.+?)"', |             r'src="(http://player\.screenwavemedia\.com/play/[a-zA-Z]+\.php\?[^"]*\bid=.+?)"', | ||||||
|             webpage, 'player data URL') |             webpage, 'player data URL', default=None) | ||||||
|  |         if not playerdata_url: | ||||||
|  |             playerdata_url = BlipTVIE._extract_url(webpage) | ||||||
|  |         if not playerdata_url: | ||||||
|  |             raise ExtractorError('Unable to find player data') | ||||||
|  |  | ||||||
|         video_title = self._html_search_regex( |         video_title = self._html_search_regex( | ||||||
|             r'<title>(?P<title>.+?)\|', webpage, 'title') |             r'<title>(?P<title>.+?)\|', webpage, 'title') | ||||||
|         video_description = self._html_search_regex( |         video_description = self._html_search_regex( | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Yen Chi Hsuan
					Yen Chi Hsuan