diff options
Diffstat (limited to 'youtube_dl/extractor/amara.py')
-rw-r--r-- | youtube_dl/extractor/amara.py | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/youtube_dl/extractor/amara.py b/youtube_dl/extractor/amara.py deleted file mode 100644 index 61d469574..000000000 --- a/youtube_dl/extractor/amara.py +++ /dev/null @@ -1,103 +0,0 @@ -# coding: utf-8 -from __future__ import unicode_literals - -from .common import InfoExtractor -from .youtube import YoutubeIE -from .vimeo import VimeoIE -from ..utils import ( - int_or_none, - parse_iso8601, - update_url_query, -) - - -class AmaraIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?amara\.org/(?:\w+/)?videos/(?P<id>\w+)' - _TESTS = [{ - # Youtube - 'url': 'https://amara.org/en/videos/jVx79ZKGK1ky/info/why-jury-trials-are-becoming-less-common/?tab=video', - 'md5': 'ea10daf2b6154b8c1ecf9922aca5e8ae', - 'info_dict': { - 'id': 'h6ZuVdvYnfE', - 'ext': 'mp4', - 'title': 'Why jury trials are becoming less common', - 'description': 'md5:a61811c319943960b6ab1c23e0cbc2c1', - 'thumbnail': r're:^https?://.*\.jpg$', - 'subtitles': dict, - 'upload_date': '20160813', - 'uploader': 'PBS NewsHour', - 'uploader_id': 'PBSNewsHour', - 'timestamp': 1549639570, - } - }, { - # Vimeo - 'url': 'https://amara.org/en/videos/kYkK1VUTWW5I/info/vimeo-at-ces-2011', - 'md5': '99392c75fa05d432a8f11df03612195e', - 'info_dict': { - 'id': '18622084', - 'ext': 'mov', - 'title': 'Vimeo at CES 2011!', - 'description': 'md5:d41d8cd98f00b204e9800998ecf8427e', - 'thumbnail': r're:^https?://.*\.jpg$', - 'subtitles': dict, - 'timestamp': 1294763658, - 'upload_date': '20110111', - 'uploader': 'Sam Morrill', - 'uploader_id': 'sammorrill' - } - }, { - # Direct Link - 'url': 'https://amara.org/en/videos/s8KL7I3jLmh6/info/the-danger-of-a-single-story/', - 'md5': 'd3970f08512738ee60c5807311ff5d3f', - 'info_dict': { - 'id': 's8KL7I3jLmh6', - 'ext': 'mp4', - 'title': 'The danger of a single story', - 'description': 'md5:d769b31139c3b8bb5be9177f62ea3f23', - 'thumbnail': r're:^https?://.*\.jpg$', - 'subtitles': dict, - 'upload_date': '20091007', - 'timestamp': 1254942511, - } - }] - - def _real_extract(self, url): - video_id = self._match_id(url) - meta = self._download_json( - 'https://amara.org/api/videos/%s/' % video_id, - video_id, query={'format': 'json'}) - title = meta['title'] - video_url = meta['all_urls'][0] - - subtitles = {} - for language in (meta.get('languages') or []): - subtitles_uri = language.get('subtitles_uri') - if not (subtitles_uri and language.get('published')): - continue - subtitle = subtitles.setdefault(language.get('code') or 'en', []) - for f in ('json', 'srt', 'vtt'): - subtitle.append({ - 'ext': f, - 'url': update_url_query(subtitles_uri, {'format': f}), - }) - - info = { - 'url': video_url, - 'id': video_id, - 'subtitles': subtitles, - 'title': title, - 'description': meta.get('description'), - 'thumbnail': meta.get('thumbnail'), - 'duration': int_or_none(meta.get('duration')), - 'timestamp': parse_iso8601(meta.get('created')), - } - - for ie in (YoutubeIE, VimeoIE): - if ie.suitable(video_url): - info.update({ - '_type': 'url_transparent', - 'ie_key': ie.ie_key(), - }) - break - - return info |