mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 06:17:07 -05:00 
			
		
		
		
	[eporner] Simplify and correct (#3629)
This commit is contained in:
		@@ -4,10 +4,14 @@ from __future__ import unicode_literals
 | 
				
			|||||||
import re
 | 
					import re
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .common import InfoExtractor
 | 
					from .common import InfoExtractor
 | 
				
			||||||
from ..utils import int_or_none
 | 
					from ..utils import (
 | 
				
			||||||
 | 
					    parse_duration,
 | 
				
			||||||
 | 
					    str_to_int,
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class EpornerIE(InfoExtractor):
 | 
					class EpornerIE(InfoExtractor):
 | 
				
			||||||
    _VALID_URL = r'http?://(?:www\.)?eporner\.com/hd-porn/(?P<id>\d+)/(?P<title_dash>[\w-]+)/?'
 | 
					    _VALID_URL = r'https?://(?:www\.)?eporner\.com/hd-porn/(?P<id>\d+)/(?P<title_dash>[\w-]+)/?'
 | 
				
			||||||
    _TEST = {
 | 
					    _TEST = {
 | 
				
			||||||
        'url': 'http://www.eporner.com/hd-porn/95008/Infamous-Tiffany-Teen-Strip-Tease-Video/',
 | 
					        'url': 'http://www.eporner.com/hd-porn/95008/Infamous-Tiffany-Teen-Strip-Tease-Video/',
 | 
				
			||||||
        'md5': '3b427ae4b9d60619106de3185c2987cd',
 | 
					        'md5': '3b427ae4b9d60619106de3185c2987cd',
 | 
				
			||||||
@@ -15,7 +19,8 @@ class EpornerIE(InfoExtractor):
 | 
				
			|||||||
            'id': '95008',
 | 
					            'id': '95008',
 | 
				
			||||||
            'ext': 'flv',
 | 
					            'ext': 'flv',
 | 
				
			||||||
            'title': 'Infamous Tiffany Teen Strip Tease Video',
 | 
					            'title': 'Infamous Tiffany Teen Strip Tease Video',
 | 
				
			||||||
            'duration': 194
 | 
					            'duration': 194,
 | 
				
			||||||
 | 
					            'view_count': int,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -23,27 +28,28 @@ class EpornerIE(InfoExtractor):
 | 
				
			|||||||
        mobj = re.match(self._VALID_URL, url)
 | 
					        mobj = re.match(self._VALID_URL, url)
 | 
				
			||||||
        video_id = mobj.group('id')
 | 
					        video_id = mobj.group('id')
 | 
				
			||||||
        webpage = self._download_webpage(url, video_id)
 | 
					        webpage = self._download_webpage(url, video_id)
 | 
				
			||||||
        title = self._html_search_regex(r'<title>(.*?) - EPORNER', webpage, 'title')
 | 
					        title = self._html_search_regex(
 | 
				
			||||||
 | 
					            r'<title>(.*?) - EPORNER', webpage, 'title')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        redirect_code = self._html_search_regex(r'<script type="text/javascript" src="/config5/'+str(video_id)+'/([a-f\d]+)/">', webpage, 'redirect_code')
 | 
					        redirect_code = self._html_search_regex(
 | 
				
			||||||
        redirect_url = 'http://www.eporner.com/config5/' + str(video_id) +'/'+ redirect_code
 | 
					            r'<script type="text/javascript" src="/config5/%s/([a-f\d]+)/">' % video_id,
 | 
				
			||||||
 | 
					            webpage, 'redirect_code')
 | 
				
			||||||
 | 
					        redirect_url = 'http://www.eporner.com/config5/%s/%s' % (video_id, redirect_code)
 | 
				
			||||||
        webpage2 = self._download_webpage(redirect_url, video_id)
 | 
					        webpage2 = self._download_webpage(redirect_url, video_id)
 | 
				
			||||||
        video_url = self._html_search_regex(r'file: "(.*?)",', webpage2, 'video_url')
 | 
					        video_url = self._html_search_regex(
 | 
				
			||||||
 | 
					            r'file: "(.*?)",', webpage2, 'video_url')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        mobj = re.search(r'class="mbtim">(?P<minutes>\d+):(?P<seconds>\d+)</div>', webpage)
 | 
					        duration = parse_duration(self._search_regex(
 | 
				
			||||||
        duration = int(mobj.group('minutes')) * 60 + int(mobj.group('seconds')) if mobj else None
 | 
					            r'class="mbtim">([0-9:]+)</div>', webpage, 'duration',
 | 
				
			||||||
 | 
					            fatal=False))
 | 
				
			||||||
        mobj = re.search(r'id="cinemaviews">((?P<thousands>\d+),)?(?P<units>\d+)<small>views', webpage)
 | 
					        view_count = str_to_int(self._search_regex(
 | 
				
			||||||
        try:
 | 
					            r'id="cinemaviews">\s*([0-9,]+)\s*<small>views',
 | 
				
			||||||
            view_count = int(mobj.group('units'))
 | 
					            webpage, 'view count', fatal=False))
 | 
				
			||||||
            view_count += int(mobj.group('thousands')) * 1000
 | 
					 | 
				
			||||||
        except:
 | 
					 | 
				
			||||||
            pass
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return {
 | 
					        return {
 | 
				
			||||||
            'id': video_id,
 | 
					            'id': video_id,
 | 
				
			||||||
            'url': video_url,
 | 
					            'url': video_url,
 | 
				
			||||||
            'title': title,
 | 
					            'title': title,
 | 
				
			||||||
            'duration': int_or_none(duration),
 | 
					            'duration': duration,
 | 
				
			||||||
            'view_count': int_or_none(view_count),
 | 
					            'view_count': view_count,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1318,6 +1318,7 @@ def str_or_none(v, default=None):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def str_to_int(int_str):
 | 
					def str_to_int(int_str):
 | 
				
			||||||
 | 
					    """ A more relaxed version of int_or_none """
 | 
				
			||||||
    if int_str is None:
 | 
					    if int_str is None:
 | 
				
			||||||
        return None
 | 
					        return None
 | 
				
			||||||
    int_str = re.sub(r'[,\.]', u'', int_str)
 | 
					    int_str = re.sub(r'[,\.]', u'', int_str)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user