From deed48b472b3cfe2f496b0c4ff3fe40a391e6725 Mon Sep 17 00:00:00 2001 From: Sainyam Kapoor Date: Sat, 5 Apr 2014 10:40:03 +0530 Subject: [Videoweed] Added support for videoweed. --- youtube_dl/extractor/videoweed.py | 69 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 youtube_dl/extractor/videoweed.py (limited to 'youtube_dl/extractor/videoweed.py') diff --git a/youtube_dl/extractor/videoweed.py b/youtube_dl/extractor/videoweed.py new file mode 100644 index 000000000..7110ecaa2 --- /dev/null +++ b/youtube_dl/extractor/videoweed.py @@ -0,0 +1,69 @@ +from __future__ import unicode_literals + +import re + +from .common import InfoExtractor +from ..utils import ( + ExtractorError, + compat_urlparse +) + + +class VideoweedIE(InfoExtractor): + IE_NAME = 'videoweed' + IE_DESC = 'VideoWEED' + + #_VALID_URL = r'http://(?:(?:www\.)?%(host)s/file/|(?:(?:embed|www)\.)%(host)s/embed\.php\?(?:.*?&)?v=)(?P[a-z\d]{13})' % {'host': 'videoweed\.com'} + _VALID_URL =r'http://(?:www\.)videoweed\.es/file/(?P[^"]+)' + _HOST = 'www.videoweed.es' + + _FILE_DELETED_REGEX = r'>This file no longer exists on our servers.[^"]+)";' + _TITLE_REGEX = r'

([^<]+)

' + _DESCRIPTION_REGEX = r'(?s)
\s*

[^<]+

([^<]+)

' + + _TEST = { + 'url': 'http://www.videoweed.es/file/89868b4aa3bdf', + 'md5': '7205f346a52bbeba427603ba10d4b935', + 'info_dict': { + 'id': '89868b4aa3bdf', + 'ext': 'flv', + 'title': 'law and order svu 103 dvdrip', + 'description': '' + }, + 'skip': '"Invalid token" errors abound (in web interface as well as youtube-dl, there is nothing we can do about it.)' + } + + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + video_id = mobj.group('id') + print "itworks" + page = self._download_webpage( + 'http://%s/file/%s' % (self._HOST, video_id), video_id, 'Downloading video page') + + if re.search(self._FILE_DELETED_REGEX, page) is not None: + raise ExtractorError(u'Video %s does not exist' % video_id, expected=True) + + filekey = self._search_regex(self._FILEKEY_REGEX, page, 'filekey') + + title = self._html_search_regex(self._TITLE_REGEX, page, 'title', fatal=False) + + description = self._html_search_regex(self._DESCRIPTION_REGEX, page, 'description', default='', fatal=False) + + api_response = self._download_webpage( + 'http://%s/api/player.api.php?key=%s&file=%s' % (self._HOST, filekey, video_id), video_id, + 'Downloading video api response') + + response = compat_urlparse.parse_qs(api_response) + + if 'error_msg' in response: + raise ExtractorError('%s returned error: %s' % (self.IE_NAME, response['error_msg'][0]), expected=True) + + video_url = response['url'][0] + + return { + 'id': video_id, + 'url': video_url, + 'title': title, + 'description': description + } \ No newline at end of file -- cgit v1.2.3 From d6e40507d04aaceb215f4e5efb6f88b36d96d4be Mon Sep 17 00:00:00 2001 From: Sainyam Kapoor Date: Sat, 5 Apr 2014 10:53:22 +0530 Subject: [videoweed]Cleanup --- youtube_dl/extractor/videoweed.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'youtube_dl/extractor/videoweed.py') diff --git a/youtube_dl/extractor/videoweed.py b/youtube_dl/extractor/videoweed.py index 7110ecaa2..55a0f1833 100644 --- a/youtube_dl/extractor/videoweed.py +++ b/youtube_dl/extractor/videoweed.py @@ -37,7 +37,7 @@ class VideoweedIE(InfoExtractor): def _real_extract(self, url): mobj = re.match(self._VALID_URL, url) video_id = mobj.group('id') - print "itworks" + page = self._download_webpage( 'http://%s/file/%s' % (self._HOST, video_id), video_id, 'Downloading video page') -- cgit v1.2.3 From 91745595d355711194ad57da8630b28ebe011da8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergey=20M=E2=80=A4?= Date: Sat, 5 Apr 2014 15:32:55 +0700 Subject: [videoweed] Simplify --- youtube_dl/extractor/videoweed.py | 64 +++++++-------------------------------- 1 file changed, 11 insertions(+), 53 deletions(-) (limited to 'youtube_dl/extractor/videoweed.py') diff --git a/youtube_dl/extractor/videoweed.py b/youtube_dl/extractor/videoweed.py index 55a0f1833..1a69dcd89 100644 --- a/youtube_dl/extractor/videoweed.py +++ b/youtube_dl/extractor/videoweed.py @@ -1,69 +1,27 @@ from __future__ import unicode_literals -import re +from .novamov import NovaMovIE -from .common import InfoExtractor -from ..utils import ( - ExtractorError, - compat_urlparse -) - -class VideoweedIE(InfoExtractor): +class VideoWeedIE(NovaMovIE): IE_NAME = 'videoweed' - IE_DESC = 'VideoWEED' + IE_DESC = 'VideoWeed' + + _VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': 'videoweed\.(?:es|com)'} - #_VALID_URL = r'http://(?:(?:www\.)?%(host)s/file/|(?:(?:embed|www)\.)%(host)s/embed\.php\?(?:.*?&)?v=)(?P[a-z\d]{13})' % {'host': 'videoweed\.com'} - _VALID_URL =r'http://(?:www\.)videoweed\.es/file/(?P[^"]+)' _HOST = 'www.videoweed.es' - _FILE_DELETED_REGEX = r'>This file no longer exists on our servers.This file no longer exists on our servers.<' _FILEKEY_REGEX = r'flashvars\.filekey="(?P[^"]+)";' _TITLE_REGEX = r'

([^<]+)

' - _DESCRIPTION_REGEX = r'(?s)
\s*

[^<]+

([^<]+)

' _TEST = { - 'url': 'http://www.videoweed.es/file/89868b4aa3bdf', - 'md5': '7205f346a52bbeba427603ba10d4b935', + 'url': 'http://www.videoweed.es/file/b42178afbea14', + 'md5': 'abd31a2132947262c50429e1d16c1bfd', 'info_dict': { - 'id': '89868b4aa3bdf', + 'id': 'b42178afbea14', 'ext': 'flv', - 'title': 'law and order svu 103 dvdrip', + 'title': 'optical illusion dissapeared image magic illusion', 'description': '' }, - 'skip': '"Invalid token" errors abound (in web interface as well as youtube-dl, there is nothing we can do about it.)' - } - - def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('id') - - page = self._download_webpage( - 'http://%s/file/%s' % (self._HOST, video_id), video_id, 'Downloading video page') - - if re.search(self._FILE_DELETED_REGEX, page) is not None: - raise ExtractorError(u'Video %s does not exist' % video_id, expected=True) - - filekey = self._search_regex(self._FILEKEY_REGEX, page, 'filekey') - - title = self._html_search_regex(self._TITLE_REGEX, page, 'title', fatal=False) - - description = self._html_search_regex(self._DESCRIPTION_REGEX, page, 'description', default='', fatal=False) - - api_response = self._download_webpage( - 'http://%s/api/player.api.php?key=%s&file=%s' % (self._HOST, filekey, video_id), video_id, - 'Downloading video api response') - - response = compat_urlparse.parse_qs(api_response) - - if 'error_msg' in response: - raise ExtractorError('%s returned error: %s' % (self.IE_NAME, response['error_msg'][0]), expected=True) - - video_url = response['url'][0] - - return { - 'id': video_id, - 'url': video_url, - 'title': title, - 'description': description - } \ No newline at end of file + } \ No newline at end of file -- cgit v1.2.3 From 4479bf2762213ea4372a72138afcd2a5bb444e23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergey=20M=E2=80=A4?= Date: Sat, 5 Apr 2014 16:09:28 +0700 Subject: [videoweed] Simplify --- youtube_dl/extractor/videoweed.py | 2 -- 1 file changed, 2 deletions(-) (limited to 'youtube_dl/extractor/videoweed.py') diff --git a/youtube_dl/extractor/videoweed.py b/youtube_dl/extractor/videoweed.py index 1a69dcd89..6d6e8e9c4 100644 --- a/youtube_dl/extractor/videoweed.py +++ b/youtube_dl/extractor/videoweed.py @@ -11,8 +11,6 @@ class VideoWeedIE(NovaMovIE): _HOST = 'www.videoweed.es' - _FILE_DELETED_REGEX = r'>This file no longer exists on our servers.<' - _FILEKEY_REGEX = r'flashvars\.filekey="(?P[^"]+)";' _TITLE_REGEX = r'

([^<]+)

' _TEST = { -- cgit v1.2.3 From 931055e6cbd45b6a0b001006d840edd2b5af7d7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergey=20M=E2=80=A4?= Date: Sat, 5 Apr 2014 16:32:14 +0700 Subject: [videoweed] Revert _FILE_DELETED_REGEX --- youtube_dl/extractor/videoweed.py | 1 + 1 file changed, 1 insertion(+) (limited to 'youtube_dl/extractor/videoweed.py') diff --git a/youtube_dl/extractor/videoweed.py b/youtube_dl/extractor/videoweed.py index 6d6e8e9c4..4a08ddd43 100644 --- a/youtube_dl/extractor/videoweed.py +++ b/youtube_dl/extractor/videoweed.py @@ -11,6 +11,7 @@ class VideoWeedIE(NovaMovIE): _HOST = 'www.videoweed.es' + _FILE_DELETED_REGEX = r'>This file no longer exists on our servers.<' _TITLE_REGEX = r'

([^<]+)

' _TEST = { -- cgit v1.2.3