summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--youtube_dl/extractor/__init__.py1
-rw-r--r--youtube_dl/extractor/pyvideo.py26
2 files changed, 27 insertions, 0 deletions
diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py
index f6a23f663..d7cb6e463 100644
--- a/youtube_dl/extractor/__init__.py
+++ b/youtube_dl/extractor/__init__.py
@@ -111,6 +111,7 @@ from .photobucket import PhotobucketIE
from .podomatic import PodomaticIE
from .pornhub import PornHubIE
from .pornotube import PornotubeIE
+from .pyvideo import PyvideoIE
from .rbmaradio import RBMARadioIE
from .redtube import RedTubeIE
from .ringtv import RingTVIE
diff --git a/youtube_dl/extractor/pyvideo.py b/youtube_dl/extractor/pyvideo.py
new file mode 100644
index 000000000..243dff806
--- /dev/null
+++ b/youtube_dl/extractor/pyvideo.py
@@ -0,0 +1,26 @@
+import re
+
+from .common import InfoExtractor
+from ..utils import determine_ext
+
+
+class PyvideoIE(InfoExtractor):
+ _VALID_URL = r'(?:http://)?(?:www\.)?break\.com/video/([^/]+)'
+ _VALID_URL = r'(?:http://)?(?:www\.)?pyvideo\.org/video/(\d+)/(.*)'
+ _TEST = {
+ u'url': u'http://pyvideo.org/video/1737/become-a-logging-expert-in-30-minutes',
+ u'file': u'Become a logging expert in 30 minutes-24_4WWkSmNo.mp4',
+ u'md5': u'bf08cae24e1601027f98ae1262c299ad',
+ u'info_dict': {
+ u"title": u"Become a logging expert in 30 minutes"
+ }
+ }
+
+ def _real_extract(self, url):
+ mobj = re.match(self._VALID_URL, url)
+ video_id = mobj.group(2)
+ webpage = self._download_webpage(url, video_id)
+ m_youtube = re.search(r'(https?://www\.youtube\.com/watch\?v=.*)', webpage)
+
+ if m_youtube is not None:
+ return self.url_result(m_youtube.group(1), 'Youtube')