Browse Source

Merge branch 'tnaflix' of https://github.com/peugeot/youtube-dl into peugeot-tnaflix

totalwebcasting
Sergey M․ 10 years ago
parent
commit
f7a361c4f1
2 changed files with 69 additions and 0 deletions
  1. +1
    -0
      youtube_dl/extractor/__init__.py
  2. +68
    -0
      youtube_dl/extractor/tnaflix.py

+ 1
- 0
youtube_dl/extractor/__init__.py View File

@ -348,6 +348,7 @@ from .theplatform import ThePlatformIE
from .thisav import ThisAVIE
from .tinypic import TinyPicIE
from .tlc import TlcIE, TlcDeIE
from .tnaflix import TNAFlixIE
from .toutv import TouTvIE
from .toypics import ToypicsUserIE, ToypicsIE
from .traileraddict import TrailerAddictIE


+ 68
- 0
youtube_dl/extractor/tnaflix.py View File

@ -0,0 +1,68 @@
from __future__ import unicode_literals
import re
from .common import InfoExtractor
from ..utils import (
parse_duration,
str_to_int,
)
class TNAFlixIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?tnaflix\.com/(?P<cat_id>[\w-]+)/(?P<display_id>[\w-]+)/video(?P<id>\d+)'
_TEST = {
'url': 'http://www.tnaflix.com/porn-stars/Carmella-Decesare-striptease/video553878',
'md5': 'ecf3498417d09216374fc5907f9c6ec0',
'info_dict': {
'id': '553878',
'display_id': 'Carmella-Decesare-striptease',
'ext': 'mp4',
'title': 'Carmella Decesare - striptease',
'thumbnail': 're:https?://.*\.jpg$',
#'duration': 84,
'age_limit': 18,
}
}
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('id')
display_id = mobj.group('display_id')
webpage = self._download_webpage(url, display_id)
redir_url = self._html_search_regex(
r'flashvars.config = escape\("([^"]+)"', webpage, 'redirection URL')
redirection_webpage = self._download_webpage(redir_url, display_id)
sources = self._search_regex(
r'<quality>(.+)</quality>', redirection_webpage, 'sources', flags=re.MULTILINE|re.DOTALL)
formats = []
for format_id, video_url in re.findall(r'<res>([^<]+)</res>\s*<videoLink>([^<]+)</videoLink>', sources, flags=re.MULTILINE|re.DOTALL):
fmt = {
'url': video_url,
'format_id': format_id,
}
m = re.search(r'^(\d+)', format_id)
if m:
fmt['height'] = int(m.group(1))
formats.append(fmt)
self._sort_formats(formats)
title = self._og_search_title(webpage)
#duration = self._html_search_regex(r'<meta itemprop="duration" content="T(\d+)M(\d+)S"', webpage, 'duration')
thumbnail = self._html_search_regex(
r'<meta\s+itemprop="thumbnailUrl"\s+content="([^"]+)"',
webpage, 'thumbnail', fatal=False)
return {
'id': video_id,
'display_id': display_id,
'url': video_url,
'title': title,
'thumbnail': thumbnail,
#'duration': duration,
'age_limit': self._rta_search(webpage),
}

Loading…
Cancel
Save