diff options
Diffstat (limited to 'youtube_dl/extractor/arnes.py')
-rw-r--r-- | youtube_dl/extractor/arnes.py | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/youtube_dl/extractor/arnes.py b/youtube_dl/extractor/arnes.py deleted file mode 100644 index c0032fcab..000000000 --- a/youtube_dl/extractor/arnes.py +++ /dev/null @@ -1,101 +0,0 @@ -# coding: utf-8 -from __future__ import unicode_literals - -from .common import InfoExtractor -from ..compat import ( - compat_parse_qs, - compat_urllib_parse_urlparse, -) -from ..utils import ( - float_or_none, - int_or_none, - parse_iso8601, - remove_start, -) - - -class ArnesIE(InfoExtractor): - IE_NAME = 'video.arnes.si' - IE_DESC = 'Arnes Video' - _VALID_URL = r'https?://video\.arnes\.si/(?:[a-z]{2}/)?(?:watch|embed|api/(?:asset|public/video))/(?P<id>[0-9a-zA-Z]{12})' - _TESTS = [{ - 'url': 'https://video.arnes.si/watch/a1qrWTOQfVoU?t=10', - 'md5': '4d0f4d0a03571b33e1efac25fd4a065d', - 'info_dict': { - 'id': 'a1qrWTOQfVoU', - 'ext': 'mp4', - 'title': 'Linearna neodvisnost, definicija', - 'description': 'Linearna neodvisnost, definicija', - 'license': 'PRIVATE', - 'creator': 'Polona Oblak', - 'timestamp': 1585063725, - 'upload_date': '20200324', - 'channel': 'Polona Oblak', - 'channel_id': 'q6pc04hw24cj', - 'channel_url': 'https://video.arnes.si/?channel=q6pc04hw24cj', - 'duration': 596.75, - 'view_count': int, - 'tags': ['linearna_algebra'], - 'start_time': 10, - } - }, { - 'url': 'https://video.arnes.si/api/asset/s1YjnV7hadlC/play.mp4', - 'only_matching': True, - }, { - 'url': 'https://video.arnes.si/embed/s1YjnV7hadlC', - 'only_matching': True, - }, { - 'url': 'https://video.arnes.si/en/watch/s1YjnV7hadlC', - 'only_matching': True, - }, { - 'url': 'https://video.arnes.si/embed/s1YjnV7hadlC?t=123&hideRelated=1', - 'only_matching': True, - }, { - 'url': 'https://video.arnes.si/api/public/video/s1YjnV7hadlC', - 'only_matching': True, - }] - _BASE_URL = 'https://video.arnes.si' - - def _real_extract(self, url): - video_id = self._match_id(url) - - video = self._download_json( - self._BASE_URL + '/api/public/video/' + video_id, video_id)['data'] - title = video['title'] - - formats = [] - for media in (video.get('media') or []): - media_url = media.get('url') - if not media_url: - continue - formats.append({ - 'url': self._BASE_URL + media_url, - 'format_id': remove_start(media.get('format'), 'FORMAT_'), - 'format_note': media.get('formatTranslation'), - 'width': int_or_none(media.get('width')), - 'height': int_or_none(media.get('height')), - }) - self._sort_formats(formats) - - channel = video.get('channel') or {} - channel_id = channel.get('url') - thumbnail = video.get('thumbnailUrl') - - return { - 'id': video_id, - 'title': title, - 'formats': formats, - 'thumbnail': self._BASE_URL + thumbnail, - 'description': video.get('description'), - 'license': video.get('license'), - 'creator': video.get('author'), - 'timestamp': parse_iso8601(video.get('creationTime')), - 'channel': channel.get('name'), - 'channel_id': channel_id, - 'channel_url': self._BASE_URL + '/?channel=' + channel_id if channel_id else None, - 'duration': float_or_none(video.get('duration'), 1000), - 'view_count': int_or_none(video.get('views')), - 'tags': video.get('hashtags'), - 'start_time': int_or_none(compat_parse_qs( - compat_urllib_parse_urlparse(url).query).get('t', [None])[0]), - } |