[alaa] Add new extractor

pull/32662/head
mimvahedi 5 months ago
parent be008e657d
commit c58afad362

@ -0,0 +1,52 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
from ..utils import (
int_or_none,
url_or_none,
parse_filesize,
parse_duration,
)
class AlaaIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?alaatv\.com/c/(?P<id>[0-9]+)'
_TEST = {
'url': 'https://alaatv.com/c/19680',
'info_dict': {
'id': '19680',
'ext': 'mp4',
'title': 'مجموعه، الگو و دنباله (قسمت ششم)، تست های 48 الی 55',
'thumbnail': 'https://nodes.alaatv.com/media/thumbnails/582/582070sevt.jpg',
'duration': 1800
}
}
def _real_extract(self, url):
video_id = self._match_id(url)
video_details = self._download_json('https://alaatv.com/api/v2/c/{0}'.format(video_id), video_id)
video_details = video_details['data']
video_image = video_details.get('photo')
def map_formats(v):
return {
"url": v.get("link"),
"filesize": parse_filesize(v.get("size")),
"format_id": v.get("res"),
"ext": v.get("ext"),
}
formats = list(map(map_formats, video_details['file']['video']))
return {
'id': video_id,
'title': video_details['title'],
'formats': formats,
'thumbnail': url_or_none(video_image),
'duration': int_or_none(parse_duration(video_details.get('duration') + ":00"))
}

@ -39,6 +39,7 @@ from .aenetworks import (
from .afreecatv import AfreecaTVIE
from .airmozilla import AirMozillaIE
from .aljazeera import AlJazeeraIE
from .alaa import AlaaIE
from .alphaporno import AlphaPornoIE
from .amara import AmaraIE
from .amcnetworks import AMCNetworksIE

Loading…
Cancel
Save