From e3e416c52640476b6e7d1646781fd48dffcaddee Mon Sep 17 00:00:00 2001 From: David Parunakian Date: Thu, 8 Aug 2013 20:18:54 +0400 Subject: [PATCH] Added Khan Academy support (videos downloaded from YouTube) --- src/you_get/downloader/__init__.py | 1 + src/you_get/downloader/__main__.py | 1 + src/you_get/downloader/khan.py | 15 +++++++++++++++ 3 files changed, 17 insertions(+) create mode 100755 src/you_get/downloader/khan.py diff --git a/src/you_get/downloader/__init__.py b/src/you_get/downloader/__init__.py index 7a4e315d..adaafdf0 100644 --- a/src/you_get/downloader/__init__.py +++ b/src/you_get/downloader/__init__.py @@ -38,5 +38,6 @@ from .xiami import * from .yinyuetai import * from .youku import * from .youtube import * +from .khan import * from .__main__ import * diff --git a/src/you_get/downloader/__main__.py b/src/you_get/downloader/__main__.py index 4ce9cbe5..1fc96e79 100644 --- a/src/you_get/downloader/__main__.py +++ b/src/you_get/downloader/__main__.py @@ -59,6 +59,7 @@ def url_to_module(url): 'youku': youku, 'youtu': youtube, 'youtube': youtube, + 'khanacademy': khan, #TODO } if k in downloads: diff --git a/src/you_get/downloader/khan.py b/src/you_get/downloader/khan.py new file mode 100755 index 00000000..9c4bb40d --- /dev/null +++ b/src/you_get/downloader/khan.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python + +__all__ = ['khan_download'] + +from ..common import * +from .youtube import youtube_download_by_id + +def khan_download(url, output_dir = '.', merge = True, info_only = False): + page = get_html(url) + id = page[page.find('src="https://www.youtube.com/embed/') + len('src="https://www.youtube.com/embed/') :page.find('?enablejsapi=1&wmode=transparent&modestbranding=1&rel=0&fs=1&showinfo=0')] + youtube_download_by_id(id) + +site_info = "khanacademy.org" +download = khan_download +download_playlist = playlist_not_supported('khan')