summary refs log tree commit diff
diff options
context:
space:
mode:
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2013-12-07 10:48:15 +0100
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2013-12-07 10:50:06 +0100
commit870fc4e578ce0f5e25f4c73c7fdb42d652880370 (patch)
treea2cfc2d138c2b7b8fe69671088b3fb4ef6d19566
parentfb30ec22fd25e2dfc57ecf821d3072c2d8ab3ce7 (diff)
parentf623530d6e1ac63e0e2056274cb9b59b8699ce0c (diff)
downloadyoutube-dl-870fc4e578ce0f5e25f4c73c7fdb42d652880370.tar.gz
youtube-dl-870fc4e578ce0f5e25f4c73c7fdb42d652880370.tar.xz
youtube-dl-870fc4e578ce0f5e25f4c73c7fdb42d652880370.zip
Merge remote-tracking branch 'gekitsuu/master' (closes PR #1913)
-rw-r--r--youtube_dl/extractor/__init__.py1
-rw-r--r--youtube_dl/extractor/pyvideo.py25
2 files changed, 26 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..5c47993e7
--- /dev/null
+++ b/youtube_dl/extractor/pyvideo.py
@@ -0,0 +1,25 @@
+import re
+
+from .common import InfoExtractor
+from ..utils import determine_ext
+
+
+class PyvideoIE(InfoExtractor):
+    _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')