Merge remote-tracking branch 'dstftw/macgamestore'

pull/8/head
Philipp Hagemeister 11 years ago
commit cc14dfb8ec

@ -102,6 +102,7 @@ from .kickstarter import KickStarterIE
from .keek import KeekIE
from .liveleak import LiveLeakIE
from .livestream import LivestreamIE, LivestreamOriginalIE
from .macgamestore import MacGameStoreIE
from .mdr import MDRIE
from .metacafe import MetacafeIE
from .metacritic import MetacriticIE

@ -0,0 +1,40 @@
import re
from .common import InfoExtractor
from ..utils import ExtractorError
class MacGameStoreIE(InfoExtractor):
IE_NAME = u'macgamestore'
IE_DESC = u'MacGameStore trailers'
_VALID_URL = r'https?://www\.macgamestore\.com/mediaviewer\.php\?trailer=(?P<id>\d+)'
_TEST = {
u'url': u'http://www.macgamestore.com/mediaviewer.php?trailer=2450',
u'file': u'2450.m4v',
u'md5': u'8649b8ea684b6666b4c5be736ecddc61',
u'info_dict': {
u'title': u'Crow',
}
}
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('id')
webpage = self._download_webpage(url, video_id, u'Downloading trailer page')
if re.search(r'>Missing Media<', webpage) is not None:
raise ExtractorError(u'Trailer %s does not exist' % video_id, expected=True)
mobj = re.search(r'<title>MacGameStore: (?P<title>.*?) Trailer</title>', webpage)
video_title = mobj.group('title')
mobj = re.search(r'(?s)<div\s+id="video-player".*?href="(?P<video>[^"]+)"\s*>', webpage)
video_url = mobj.group('video')
return {
'id': video_id,
'url': video_url,
'title': video_title
}
Loading…
Cancel
Save