add support for show url scheme

This commit is contained in:
remitamine 2015-06-27 12:12:10 +01:00
parent f39eb98bab
commit d48a8622c8

View File

@ -1,9 +1,9 @@
from re import match,DOTALL from re import match,search,DOTALL
from .common import InfoExtractor from .common import InfoExtractor
from ..utils import js_to_json from ..utils import js_to_json
class SnagFilmsIE(InfoExtractor): class SnagFilmsIE(InfoExtractor):
_VALID_URL = r'(?:https?://)?(?:www.|embed.)?snagfilms\.com/(?:films/title/(?P<display_id>.+?)|embed/player\?.*filmId=(?P<id>.+?))(?:&|/|$)' _VALID_URL = r'(?:https?://)?(?:www.|embed.)?snagfilms\.com/(?:(?:films/title|show/(?P<show_name>.+?))/(?P<display_id>.+?)|embed/player\?.*filmId=(?P<id>.+?))(?=&|/|$)'
_TESTS = [{ _TESTS = [{
'url': 'http://www.snagfilms.com/films/title/lost_for_life', 'url': 'http://www.snagfilms.com/films/title/lost_for_life',
'info_dict': 'info_dict':
@ -31,15 +31,14 @@ class SnagFilmsIE(InfoExtractor):
}] }]
def _real_extract(self, url): def _real_extract(self, url):
display_id, video_id = match(self._VALID_URL,url).groups() show_name, display_id, video_id = match(self._VALID_URL,url).groups()
if display_id is None: if display_id is None:
embed_webpage = self._download_webpage('http://www.snagfilms.com/embed/player?filmId=' + video_id, video_id) embed_webpage = self._download_webpage('http://www.snagfilms.com/embed/player?filmId=' + video_id, video_id)
display_id = self._html_search_regex( url, show_name, display_id = search(
r"snagfilms\.com/films/title/(?P<display_id>.+?)(?:/|')", r"(?:https?://)?(?:www.)?snagfilms\.com/(?:films/title|show/(?P<show_name>.+?))/(?P<display_id>.+?)(?=/|')",
embed_webpage, embed_webpage
'display_id' ).group(0,1,2)
) webpage = self._download_webpage(url, display_id)
webpage = self._download_webpage('http://www.snagfilms.com/films/title/' + display_id, display_id)
json_data = self._parse_json(self._html_search_regex( json_data = self._parse_json(self._html_search_regex(
r'"data":{"film":(?P<data>{.*?}})}', r'"data":{"film":(?P<data>{.*?}})}',