[vier] Improve authentication logic

* Authenticate only when required
* Support vijf.be in addition to vier.be
This commit is contained in:
mrBliss 2017-04-20 15:50:45 +02:00
parent 5283140a89
commit 02c411a9e6

View File

@ -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')