From 02c411a9e6a471dbef84a5bc220e5744193cdffb Mon Sep 17 00:00:00 2001 From: mrBliss Date: Thu, 20 Apr 2017 15:50:45 +0200 Subject: [PATCH] [vier] Improve authentication logic * Authenticate only when required * Support vijf.be in addition to vier.be --- youtube_dl/extractor/vier.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/youtube_dl/extractor/vier.py b/youtube_dl/extractor/vier.py index e09d23c40..6a8d526b7 100644 --- a/youtube_dl/extractor/vier.py +++ b/youtube_dl/extractor/vier.py @@ -49,16 +49,13 @@ class VierIE(InfoExtractor): 'only_matching': True, }] - def _real_initialize(self): - self._login() - - def _login(self): + def _login(self, site): username, password = self._get_login_info() - if username is None: - return + if username is None or password is None: + self.raise_login_required() self._request_webpage( - 'http://www.vier.be/user/login', + 'http://www.%s.be/user/login' % site, None, note='Logging in', errnote='Could not log in', data=urlencode_postdata({ 'form_id': 'user_login', @@ -75,6 +72,10 @@ class VierIE(InfoExtractor): webpage = self._download_webpage(url, display_id) + if re.search(r'id="user-login"', webpage): + self._login(site) + webpage = self._download_webpage(url, display_id) + video_id = self._search_regex( [r'data-nid="(\d+)"', r'"nid"\s*:\s*"(\d+)"'], webpage, 'video id')