[ufctv] add support for authentication(closes #16542)
This commit is contained in:
		
							parent
							
								
									8b1da46e8f
								
							
						
					
					
						commit
						ec2f3d2800
					
				
					 1 changed files with 18 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -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={
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue