From 02e3952f3b2a289dd69ee2f922d7e8f5d8759e4d Mon Sep 17 00:00:00 2001 From: remitamine Date: Sat, 5 Dec 2015 09:29:14 +0100 Subject: [PATCH] [trilulilu] handle errors --- youtube_dl/extractor/trilulilu.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/youtube_dl/extractor/trilulilu.py b/youtube_dl/extractor/trilulilu.py index 515632527..a800449e9 100644 --- a/youtube_dl/extractor/trilulilu.py +++ b/youtube_dl/extractor/trilulilu.py @@ -49,6 +49,15 @@ def _real_extract(self, url): display_id = self._match_id(url) media_info = self._download_json('http://m.trilulilu.ro/%s?format=json' % display_id, display_id) + age_limit = 0 + errors = media_info.get('errors', {}) + if errors.get('friends'): + raise ExtractorError('This video is private.', expected=True) + elif errors.get('geoblock'): + raise ExtractorError('This video is not available in your country.', expected=True) + elif errors.get('xxx_unlogged'): + age_limit = 18 + media_class = media_info.get('class') if media_class not in ('video', 'audio'): raise ExtractorError('not a video or an audio') @@ -90,4 +99,5 @@ def _real_extract(self, url): 'view_count': int_or_none(media_info.get('count_views')), 'like_count': int_or_none(media_info.get('count_likes')), 'comment_count': int_or_none(media_info.get('count_comments')), + 'age_limit': age_limit, }