diff options
| -rw-r--r-- | youtube_dl/extractor/ufctv.py | 18 | 
1 files changed, 18 insertions, 0 deletions
| diff --git a/youtube_dl/extractor/ufctv.py b/youtube_dl/extractor/ufctv.py index ab823814b..f3eaee6b3 100644 --- a/youtube_dl/extractor/ufctv.py +++ b/youtube_dl/extractor/ufctv.py @@ -3,13 +3,16 @@ from __future__ import unicode_literals  from .common import InfoExtractor  from ..utils import ( +    ExtractorError,      parse_duration,      parse_iso8601, +    urlencode_postdata,  )  class UFCTVIE(InfoExtractor):      _VALID_URL = r'https?://(?:www\.)?ufc\.tv/video/(?P<id>[^/]+)' +    _NETRC_MACHINE = 'ufctv'      _TEST = {          'url': 'https://www.ufc.tv/video/ufc-219-countdown-full-episode',          'info_dict': { @@ -26,6 +29,21 @@ class UFCTVIE(InfoExtractor):          }      } +    def _real_initialize(self): +        username, password = self._get_login_info() +        if username is None: +            return + +        code = self._download_json( +            'https://www.ufc.tv/secure/authenticate', +            None, 'Logging in', data=urlencode_postdata({ +                'username': username, +                'password': password, +                'format': 'json', +            })).get('code') +        if code and code != 'loginsuccess': +            raise ExtractorError(code, expected=True) +      def _real_extract(self, url):          display_id = self._match_id(url)          video_data = self._download_json(url, display_id, query={ | 
