Browse Source

Move NBA IE into its own file

rtmp_test
Philipp Hagemeister 12 years ago
parent
commit
5b286728de
2 changed files with 41 additions and 33 deletions
  1. +1
    -33
      youtube_dl/InfoExtractors.py
  2. +40
    -0
      youtube_dl/extractor/nba.py

+ 1
- 33
youtube_dl/InfoExtractors.py View File

@ -34,6 +34,7 @@ from .extractor.googlesearch import GoogleSearchIE
from .extractor.infoq import InfoQIE from .extractor.infoq import InfoQIE
from .extractor.metacafe import MetacafeIE from .extractor.metacafe import MetacafeIE
from .extractor.myvideo import MyVideoIE from .extractor.myvideo import MyVideoIE
from .extractor.nba import NBAIE
from .extractor.statigram import StatigramIE from .extractor.statigram import StatigramIE
from .extractor.photobucket import PhotobucketIE from .extractor.photobucket import PhotobucketIE
from .extractor.soundcloud import SoundcloudIE, SoundcloudSetIE from .extractor.soundcloud import SoundcloudIE, SoundcloudSetIE
@ -349,39 +350,6 @@ class XNXXIE(InfoExtractor):
class NBAIE(InfoExtractor):
_VALID_URL = r'^(?:https?://)?(?:watch\.|www\.)?nba\.com/(?:nba/)?video(/[^?]*?)(?:/index\.html)?(?:\?.*)?$'
IE_NAME = u'nba'
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
if mobj is None:
raise ExtractorError(u'Invalid URL: %s' % url)
video_id = mobj.group(1)
webpage = self._download_webpage(url, video_id)
video_url = u'http://ht-mobile.cdn.turner.com/nba/big' + video_id + '_nba_1280x720.mp4'
shortened_video_id = video_id.rpartition('/')[2]
title = self._html_search_regex(r'<meta property="og:title" content="(.*?)"',
webpage, 'title', default=shortened_video_id).replace('NBA.com: ', '')
# It isn't there in the HTML it returns to us
# uploader_date = self._html_search_regex(r'<b>Date:</b> (.*?)</div>', webpage, 'upload_date', fatal=False)
description = self._html_search_regex(r'<meta name="description" (?:content|value)="(.*?)" />', webpage, 'description', fatal=False)
info = {
'id': shortened_video_id,
'url': video_url,
'ext': 'mp4',
'title': title,
# 'uploader_date': uploader_date,
'description': description,
}
return [info]
class JustinTVIE(InfoExtractor): class JustinTVIE(InfoExtractor):
"""Information extractor for justin.tv and twitch.tv""" """Information extractor for justin.tv and twitch.tv"""


+ 40
- 0
youtube_dl/extractor/nba.py View File

@ -0,0 +1,40 @@
import re
from .common import InfoExtractor
from ..utils import (
ExtractorError,
)
class NBAIE(InfoExtractor):
_VALID_URL = r'^(?:https?://)?(?:watch\.|www\.)?nba\.com/(?:nba/)?video(/[^?]*?)(?:/index\.html)?(?:\?.*)?$'
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
if mobj is None:
raise ExtractorError(u'Invalid URL: %s' % url)
video_id = mobj.group(1)
webpage = self._download_webpage(url, video_id)
video_url = u'http://ht-mobile.cdn.turner.com/nba/big' + video_id + '_nba_1280x720.mp4'
shortened_video_id = video_id.rpartition('/')[2]
title = self._html_search_regex(r'<meta property="og:title" content="(.*?)"',
webpage, 'title', default=shortened_video_id).replace('NBA.com: ', '')
# It isn't there in the HTML it returns to us
# uploader_date = self._html_search_regex(r'<b>Date:</b> (.*?)</div>', webpage, 'upload_date', fatal=False)
description = self._html_search_regex(r'<meta name="description" (?:content|value)="(.*?)" />', webpage, 'description', fatal=False)
info = {
'id': shortened_video_id,
'url': video_url,
'ext': 'mp4',
'title': title,
# 'uploader_date': uploader_date,
'description': description,
}
return [info]

Loading…
Cancel
Save