1
0
mirror of https://codeberg.org/polarisfm/youtube-dl synced 2024-11-04 17:34:32 +01:00

[FreeVideo] Add new extractor

This commit is contained in:
yac 2014-11-07 23:19:26 +01:00
parent 29ed169cd6
commit 3898c8a7b2
2 changed files with 50 additions and 0 deletions

View File

@ -127,6 +127,7 @@ from .francetv import (
) )
from .freesound import FreesoundIE from .freesound import FreesoundIE
from .freespeech import FreespeechIE from .freespeech import FreespeechIE
from .freevideo import FreeVideoIE
from .funnyordie import FunnyOrDieIE from .funnyordie import FunnyOrDieIE
from .gamekings import GamekingsIE from .gamekings import GamekingsIE
from .gameone import ( from .gameone import (

View File

@ -0,0 +1,49 @@
from __future__ import unicode_literals
import re
from .common import InfoExtractor
from ..utils import (
ExtractorError,
)
class FreeVideoIE(InfoExtractor):
_VALID_URL = r'^http://www.freevideo.cz/vase-videa/(?P<videoid>[^.]+)\.html$'
_TEST = {
'url': 'http://www.freevideo.cz/vase-videa/vysukany-zadecek-22033.html',
'file': 'vysukany-zadecek-22033.mp4',
'info_dict': {
"title": "vysukany-zadecek-22033",
"age_limit": 18,
}
}
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
if mobj is None:
raise ExtractorError('Invalid search query "%s"' % query)
video_id = mobj.group('videoid')
# Get webpage content
webpage = self._download_webpage(url, video_id)
age_limit = self._rta_search(webpage)
if age_limit == 0:
# interpret 0 as mis-detection since this site is adult-content only.
# However, if we get non-0, assume the rtalabel started giving proper
# results
age_limit = 18
url = re.search(r'\s+url: "(http://[a-z0-9-]+.cdn.freevideo.cz/stream/.*/video.mp4)"', webpage)
if url is None:
raise ExtractorError('ERROR: unable to extract video url')
return {
'id': video_id,
'url': url.groups()[0],
'title': video_id,
'age_limit': age_limit,
}