diff options
author | Albert Kim <alkim1234@gmail.com> | 2013-06-27 12:58:09 +0100 |
---|---|---|
committer | Albert Kim <alkim1234@gmail.com> | 2013-06-27 12:58:09 +0100 |
commit | 62008f69c19fe5fa7f6514ee69e94a9f156cbaee (patch) | |
tree | 27ecad50f2496b0d6113d6c0c59616c6a7f748a9 | |
parent | e88f5e0b4e1e77c13f6ec3fc6188166be95940c5 (diff) |
Added an IE for auengine.com
-rw-r--r-- | youtube_dl/extractor/__init__.py | 2 | ||||
-rw-r--r-- | youtube_dl/extractor/auengine.py | 36 |
2 files changed, 38 insertions, 0 deletions
diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index 2750fc8f9..03543c607 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 000000000..40ea5ec95 --- /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'<title>(?P<title>.+?)</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, + }] |