Add files via upload

pull/10416/head
horny-is-back 11 months ago committed by GitHub
parent 07cc6d2828
commit 935a5eee82
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -4,112 +4,111 @@ from .common import InfoExtractor
class VRPornIE(InfoExtractor): class VRPornIE(InfoExtractor):
    _VALID_URL = r'https?://(?:www\.)?vrporn\.com/(?P<display_id>.+)/' _VALID_URL = r'https?://(?:www\.)?vrporn\.com/(?P<display_id>.+)/'
    _LOGIN_URL = 'https://vrporn.com/api/playa/v2/auth/sign-in-password' _LOGIN_URL = 'https://vrporn.com/api/playa/v2/auth/sign-in-password'
    _SINGLE_VIDEO_URL = 'https://vrporn.com/api/playa/v2/video/' _SINGLE_VIDEO_URL = 'https://vrporn.com/api/playa/v2/video/'
    _NETRC_MACHINE = 'vrporn' _NETRC_MACHINE = 'vrporn'
    _USERTOKEN = None _USERTOKEN = None
    _TESTS = [ _TESTS = [
        { {
            'url': 'https://vrporn.com/milkmans-diaries/', 'url': 'https://vrporn.com/milkmans-diaries/',
            'md5': 'd50ab6c2b4adbe4fcd3f46e40984c7c8', 'md5': 'd50ab6c2b4adbe4fcd3f46e40984c7c8',
            'info_dict': { 'info_dict': {
                'id': '865690', 'id': '865690',
                'ext': 'mp4', 'ext': 'mp4',
                'duration': 60, 'duration': 60,
                'age_limit': 18, 'age_limit': 18,
                'title': "Milkman's Diaries", 'title': "Milkman's Diaries",
                'display_id': 'milkmans-diaries', 'display_id': 'milkmans-diaries',
            }, },
        }, },
        { {
            'url': 'https://vrporn.com/what-a-fellin/', 'url': 'https://vrporn.com/what-a-fellin/',
            'md5': 'eebd569dfea62c398947dbdc422ae0f0', 'md5': 'eebd569dfea62c398947dbdc422ae0f0',
            'info_dict': { 'info_dict': {
                'id': '852931', 'id': '852931',
                'ext': 'mp4', 'ext': 'mp4',
                'duration': 60, 'duration': 60,
                'age_limit': 18, 'age_limit': 18,
                'title': 'What A Feelin', 'title': 'What A Feelin',
                'display_id': 'what-a-fellin', 'display_id': 'what-a-fellin',
            }, },
        }, },
    ] ]
    def _perform_login(self, username, password): def _perform_login(self, username, password):
        user_data = self._download_json( user_data = self._download_json(
            self._LOGIN_URL, self._LOGIN_URL,
            None, None,
            note='Logging in', note='Logging in',
            data=json.dumps( data=json.dumps(
                { {
                    'login': username, 'login': username,
                    'password': password, 'password': password,
                }, },
            ).encode(), ).encode(),
            headers={ headers={
                'Content-Type': 'application/json', 'Content-Type': 'application/json',
            }, },
        ) )
        self._USERTOKEN = user_data['data']['access_token'] self._USERTOKEN = user_data['data']['access_token']
    def _real_extract(self, url): def _real_extract(self, url):
        mobj = self._match_valid_url(url) mobj = self._match_valid_url(url)
        display_id = mobj.group('display_id') display_id = mobj.group('display_id')
        webpage, _ = self._download_webpage_handle(url, display_id) webpage, _ = self._download_webpage_handle(url, display_id)
        video_id = self._search_regex( video_id = self._search_regex(
            r"shortlink.+href=[\'\"]https://vrporn\.com/\?p=([0-9]+)[\'\"]", r"shortlink.+href=[\'\"]https://vrporn\.com/\?p=([0-9]+)[\'\"]",
            webpage, webpage,
            'id', 'id',
        ) )
        headers = { headers = {
            'Content-Type': 'application/json', 'Content-Type': 'application/json',
        } }
        if self._USERTOKEN: if self._USERTOKEN:
            headers.update( headers.update(
                { {
                    'Authorization': f'Bearer {self._USERTOKEN}', 'Authorization': f'Bearer {self._USERTOKEN}',
                }, },
            ) )
        video_data = self._download_json( video_data = self._download_json(
            self._SINGLE_VIDEO_URL + video_id, self._SINGLE_VIDEO_URL + video_id,
            None, None,
            query={'asd': 'asd'}, query={'asd': 'asd'},
            note='fetching formats', note='fetching formats',
            headers=headers, headers=headers,
        ) )
        title = video_data['data']['title'] title = video_data['data']['title']
        formats = [] formats = []
        duration = '' duration = ''
        for detail in video_data['data']['details']: for detail in video_data['data']['details']:
            video_type = detail['type'] video_type = detail['type']
            duration = detail['duration_seconds'] duration = detail['duration_seconds']
            for link in detail['links']: for link in detail['links']:
                if link['is_download']: if link['is_download']:
                    formats.append( formats.append(
                        { {
                            'url': link['url'], 'url': link['url'],
                            'format_id': f'{video_type}-{link["quality_name"]}-{link["stereo"]}-{link["projection"]}', 'format_id': f'{video_type}-{link["quality_name"]}-{link["stereo"]}-{link["projection"]}',
                            'quality': link['quality_name'], 'quality': link['quality_name'],
                            'resolution': link['quality_name'], 'resolution': link['quality_name'],
                        }, },
                    ) )
        return { return {
            'id': video_id, 'id': video_id,
            'display_id': display_id, 'display_id': display_id,
            'title': title, 'title': title,
            'duration': duration, 'duration': duration,
            'formats': formats, 'formats': formats,
            'age_limit': 18, 'age_limit': 18,
        } }

Loading…
Cancel
Save