From 23b1009d1929a37ee22c22d3c6b28aaffee77606 Mon Sep 17 00:00:00 2001 From: remitamine Date: Sat, 5 Dec 2015 08:51:08 +0100 Subject: [PATCH] [trilulilu] extract info from webpage --- youtube_dl/extractor/trilulilu.py | 69 ++++++++++++++++--------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/youtube_dl/extractor/trilulilu.py b/youtube_dl/extractor/trilulilu.py index 515632527..9c5baeb64 100644 --- a/youtube_dl/extractor/trilulilu.py +++ b/youtube_dl/extractor/trilulilu.py @@ -1,11 +1,14 @@ # coding: utf-8 from __future__ import unicode_literals +import re + from .common import InfoExtractor from ..utils import ( ExtractorError, - int_or_none, parse_iso8601, + js_to_json, + parse_duration, ) @@ -22,10 +25,6 @@ class TriluliluIE(InfoExtractor): 'uploader_id': 'chipy', 'upload_date': '20120304', 'timestamp': 1330830647, - 'uploader': 'chipy', - 'view_count': int, - 'like_count': int, - 'comment_count': int, }, }, { 'url': 'http://www.trilulilu.ro/adena-ft-morreti-inocenta', @@ -37,57 +36,59 @@ class TriluliluIE(InfoExtractor): 'description': 'pop music', 'uploader_id': 'VEVOmixt', 'upload_date': '20151204', - 'uploader': 'VEVOmixt', 'timestamp': 1449187937, - 'view_count': int, - 'like_count': int, - 'comment_count': int, }, }] 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) + webpage = self._download_webpage(url, display_id) - media_class = media_info.get('class') + if re.search(r'Fişierul nu este disponibil pentru vizionare în ţara dumneavoastră', webpage): + raise ExtractorError( + 'This video is not available in your country.', expected=True) + elif re.search('Fişierul poate fi accesat doar de către prietenii lui', webpage): + raise ExtractorError('This video is private.', expected=True) + + player_vars = self._parse_json( + self._search_regex(r'(?s)playerVars\s*=\s*({.+?});', webpage, 'player vars'), + display_id, js_to_json) + + uploader_id, media_id = self._search_regex( + r'