[trollvids] Added a basic trollvids.com extractor.

Supports only the nuevo player for now (most common).
This commit is contained in:
Andrew "Akari" Alexeyew 2015-12-02 06:00:47 +02:00
parent 22d7368dfb
commit e0bd46eedc
2 changed files with 53 additions and 0 deletions

View File

@ -666,6 +666,7 @@ from .toutv import TouTvIE
from .toypics import ToypicsUserIE, ToypicsIE from .toypics import ToypicsUserIE, ToypicsIE
from .traileraddict import TrailerAddictIE from .traileraddict import TrailerAddictIE
from .trilulilu import TriluliluIE from .trilulilu import TriluliluIE
from .trollvids import TrollvidsIE
from .trutube import TruTubeIE from .trutube import TruTubeIE
from .tube8 import Tube8IE from .tube8 import Tube8IE
from .tubitv import TubiTvIE from .tubitv import TubiTvIE

View File

@ -0,0 +1,52 @@
# encoding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
from ..compat import (
compat_urllib_parse_unquote
)
import re
import xml.etree.ElementTree
class TrollvidsIE(InfoExtractor):
_VALID_URL = r"http://(?:www\.)?trollvids\.com/+video/+(?P<id>[0-9]+)/+(?P<title>[^?&]+)"
IE_NAME = 'trollvids'
def _real_extract(self, url):
match = re.match(self._VALID_URL, url)
video_id = match.group('id')
raw_video_title = match.group('title')
video_title = compat_urllib_parse_unquote(raw_video_title)
url = "http://trollvids.com/video/%s/%s" % (video_id, raw_video_title)
info = {
"id": video_id,
"title": video_title,
"webpage_url": url,
"age_limit": 18
}
sdformats = []
hdformats = []
tree = self._download_xml("http://trollvids.com/nuevo/player/config.php?v=%s" % video_id, video_id)
for child in tree:
tag, val = child.tag, child.text
if tag == "file":
sdformats.append({"url": val})
elif tag == "filehd":
hdformats.append({"url": val})
elif tag == "duration":
info["duration"] = float(val)
elif tag == "image":
info["thumbnail"] = val
elif tag == "title":
info["title"] = val
info["formats"] = sdformats + hdformats
return info