From: Philipp Hagemeister Date: Sun, 23 Jun 2013 20:59:51 +0000 (+0200) Subject: [break] adapt to new paths X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=youtube-dl;a=commitdiff_plain;h=825e0984e27f0c626c4d072066e0c9cae9069704 [break] adapt to new paths --- 825e0984e27f0c626c4d072066e0c9cae9069704 diff --cc test/tests.json index 86dc48570,30ab11fd8..01367b0fb --- a/test/tests.json +++ b/test/tests.json @@@ -637,8 -637,17 +637,17 @@@ "file": "484091715184808010_284179915.mp4", "md5": "deda4ff333abe2e118740321e992605b", "info_dict": { - "uploader": "videoseconds", + "uploader_id": "videoseconds", "title": "Instagram photo by @videoseconds (Videos)" } + }, + { + "name": "Break", + "url": "http://www.break.com/video/when-girls-act-like-guys-2468056", + "file": "2468056.mp4", + "md5": "a3513fb1547fba4fb6cfac1bffc6c46b", + "info_dict": { + "title": "When Girls Act Like D-Bags" + } } ] diff --cc youtube_dl/extractor/__init__.py index 4729512ed,000000000..b208f9002 mode 100644,000000..100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@@ -1,131 -1,0 +1,133 @@@ + +from .ard import ARDIE +from .arte import ArteTvIE +from .bandcamp import BandcampIE +from .bliptv import BlipTVIE, BlipTVUserIE ++from .breakcom import BreakIE +from .comedycentral import ComedyCentralIE +from .collegehumor import CollegeHumorIE +from .dailymotion import DailymotionIE +from .depositfiles import DepositFilesIE +from .eighttracks import EightTracksIE +from .escapist import EscapistIE +from .facebook import FacebookIE +from .flickr import FlickrIE +from .funnyordie import FunnyOrDieIE +from .gametrailers import GametrailersIE +from .generic import GenericIE +from .googleplus import GooglePlusIE +from .googlesearch import GoogleSearchIE +from .howcast import HowcastIE +from .hypem import HypemIE +from .ina import InaIE +from .infoq import InfoQIE +from .justintv import JustinTVIE +from .keek import KeekIE +from .liveleak import LiveLeakIE +from .metacafe import MetacafeIE +from .mixcloud import MixcloudIE +from .mtv import MTVIE +from .myspass import MySpassIE +from .myvideo import MyVideoIE +from .nba import NBAIE +from .statigram import StatigramIE +from .photobucket import PhotobucketIE +from .pornotube import PornotubeIE +from .rbmaradio import RBMARadioIE +from .redtube import RedTubeIE +from .soundcloud import SoundcloudIE, SoundcloudSetIE +from .spiegel import SpiegelIE +from .stanfordoc import StanfordOpenClassroomIE +from .steam import SteamIE +from .teamcoco import TeamcocoIE +from .ted import TEDIE +from .tumblr import TumblrIE +from .ustream import UstreamIE +from .vbox7 import Vbox7IE +from .vimeo import VimeoIE +from .vine import VineIE +from .worldstarhiphop import WorldStarHipHopIE +from .xnxx import XNXXIE +from .xhamster import XHamsterIE +from .xvideos import XVideosIE +from .yahoo import YahooIE, YahooSearchIE +from .youjizz import YouJizzIE +from .youku import YoukuIE +from .youporn import YouPornIE +from .youtube import YoutubeIE, YoutubePlaylistIE, YoutubeSearchIE, YoutubeUserIE, YoutubeChannelIE +from .zdf import ZDFIE + +def gen_extractors(): + """ Return a list of an instance of every supported extractor. + The order does matter; the first extractor matched is the one handling the URL. + """ + return [ + YoutubePlaylistIE(), + YoutubeChannelIE(), + YoutubeUserIE(), + YoutubeSearchIE(), + YoutubeIE(), + MetacafeIE(), + DailymotionIE(), + GoogleSearchIE(), + PhotobucketIE(), + YahooIE(), + YahooSearchIE(), + DepositFilesIE(), + FacebookIE(), + BlipTVIE(), + BlipTVUserIE(), + VimeoIE(), + MyVideoIE(), + ComedyCentralIE(), + EscapistIE(), + CollegeHumorIE(), + XVideosIE(), + SoundcloudSetIE(), + SoundcloudIE(), + InfoQIE(), + MixcloudIE(), + StanfordOpenClassroomIE(), + MTVIE(), + YoukuIE(), + XNXXIE(), + YouJizzIE(), + PornotubeIE(), + YouPornIE(), + GooglePlusIE(), + ArteTvIE(), + NBAIE(), + WorldStarHipHopIE(), + JustinTVIE(), + FunnyOrDieIE(), + SteamIE(), + UstreamIE(), + RBMARadioIE(), + EightTracksIE(), + KeekIE(), + TEDIE(), + MySpassIE(), + SpiegelIE(), + LiveLeakIE(), + ARDIE(), + ZDFIE(), + TumblrIE(), + BandcampIE(), + RedTubeIE(), + InaIE(), + HowcastIE(), + VineIE(), + FlickrIE(), + TeamcocoIE(), + XHamsterIE(), + HypemIE(), + Vbox7IE(), + GametrailersIE(), + StatigramIE(), ++ BreakIE(), + GenericIE() + ] + +def get_info_extractor(ie_name): + """Returns the info extractor class with the given ie_name""" + return globals()[ie_name+'IE'] diff --cc youtube_dl/extractor/breakcom.py index 000000000,000000000..1f6620d91 new file mode 100644 --- /dev/null +++ b/youtube_dl/extractor/breakcom.py @@@ -1,0 -1,0 +1,25 @@@ ++import re ++ ++from .common import InfoExtractor ++ ++ ++class BreakIE(InfoExtractor): ++ _VALID_URL = r'(?:http://)?(?:www\.)?break\.com/video/([^/]+)' ++ ++ def _real_extract(self, url): ++ mobj = re.match(self._VALID_URL, url) ++ video_id = mobj.group(1).split("-")[-1] ++ webpage = self._download_webpage(url, video_id) ++ video_url = re.search(r"videoPath: '(.+?)',",webpage).group(1) ++ key = re.search(r"icon: '(.+?)',",webpage).group(1) ++ final_url = str(video_url)+"?"+str(key) ++ thumbnail_url = re.search(r"thumbnailURL: '(.+?)'",webpage).group(1) ++ title = re.search(r"sVidTitle: '(.+)',",webpage).group(1) ++ ext = video_url.split('.')[-1] ++ return [{ ++ 'id': video_id, ++ 'url': final_url, ++ 'ext': ext, ++ 'title': title, ++ 'thumbnail': thumbnail_url, ++ }]