From 62008f69c19fe5fa7f6514ee69e94a9f156cbaee Mon Sep 17 00:00:00 2001 From: Albert Kim Date: Thu, 27 Jun 2013 12:58:09 +0100 Subject: [PATCH 1/2] Added an IE for auengine.com --- youtube_dl/extractor/__init__.py | 2 ++ youtube_dl/extractor/auengine.py | 36 ++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 youtube_dl/extractor/auengine.py diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index 2750fc8f90..03543c607e 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -1,6 +1,7 @@ from .ard import ARDIE from .arte import ArteTvIE +from .auengine import AuengineIE from .bandcamp import BandcampIE from .bliptv import BlipTVIE, BlipTVUserIE from .breakcom import BreakIE @@ -136,6 +137,7 @@ def gen_extractors(): TudouIE(), CSpanIE(), WimpIE(), + AuengineIE(), GenericIE() ] diff --git a/youtube_dl/extractor/auengine.py b/youtube_dl/extractor/auengine.py new file mode 100644 index 0000000000..40ea5ec95f --- /dev/null +++ b/youtube_dl/extractor/auengine.py @@ -0,0 +1,36 @@ +import os.path +import re +import urllib +import urlparse + +from .common import InfoExtractor + +class AuengineIE(InfoExtractor): + _VALID_URL = r'(?:http://)?(?:www\.)?auengine\.com/embed.php\?.*?file=([^&]+).*?' + + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + video_id = mobj.group(1) + webpage = self._download_webpage(url, video_id) + title = self._html_search_regex(r'(?P<title>.+?)', + webpage, u'title') + title = title.strip() + links = re.findall(r'[^A-Za-z0-9]?(?:file|url):\s*["\'](http[^\'"&]*)', webpage) + links = [urllib.unquote(l) for l in links] + for link in links: + root, pathext = os.path.splitext(urlparse.urlparse(link).path) + if pathext == '.png': + thumbnail = link + elif pathext == '.mp4': + url = link + ext = pathext + if ext == title[-len(ext):]: + title = title[:-len(ext)] + ext = ext[1:] + return [{ + 'id': video_id, + 'url': url, + 'ext': ext, + 'title': title, + 'thumbnail': thumbnail, + }] From e4decf2750ee3b0cfdb6c866a1496d0dd96914fa Mon Sep 17 00:00:00 2001 From: Albert Kim Date: Thu, 27 Jun 2013 13:48:28 +0100 Subject: [PATCH 2/2] Updated auengine IE to use compat_urllib* utils --- youtube_dl/extractor/auengine.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/youtube_dl/extractor/auengine.py b/youtube_dl/extractor/auengine.py index 40ea5ec95f..94322cf595 100644 --- a/youtube_dl/extractor/auengine.py +++ b/youtube_dl/extractor/auengine.py @@ -1,9 +1,11 @@ import os.path import re -import urllib -import urlparse from .common import InfoExtractor +from ..utils import ( + compat_urllib_parse, + compat_urllib_parse_urlparse, +) class AuengineIE(InfoExtractor): _VALID_URL = r'(?:http://)?(?:www\.)?auengine\.com/embed.php\?.*?file=([^&]+).*?' @@ -16,9 +18,9 @@ class AuengineIE(InfoExtractor): webpage, u'title') title = title.strip() links = re.findall(r'[^A-Za-z0-9]?(?:file|url):\s*["\'](http[^\'"&]*)', webpage) - links = [urllib.unquote(l) for l in links] + links = [compat_urllib_parse.unquote(l) for l in links] for link in links: - root, pathext = os.path.splitext(urlparse.urlparse(link).path) + root, pathext = os.path.splitext(compat_urllib_parse_urlparse(link).path) if pathext == '.png': thumbnail = link elif pathext == '.mp4':