Compare commits

...

4 Commits

Author SHA1 Message Date
mimvahedi
b4cbc9e7ce [alaa] fix playlist extraction 2023-12-13 01:08:07 +03:30
mimvahedi
5377e4d8af fix typo 2023-12-13 00:40:23 +03:30
mimvahedi
ce6e7c2271 [alaa] convert " to ' 2023-12-13 00:26:34 +03:30
mimvahedi
42c767c7a5 [alaa] Add playlist extractor 2023-12-13 00:24:16 +03:30
2 changed files with 38 additions and 6 deletions

View File

@ -35,10 +35,10 @@ class AlaaIE(InfoExtractor):
def map_formats(v): def map_formats(v):
return { return {
"url": v.get("link"), 'url': v.get('link'),
"filesize": parse_filesize(v.get("size")), 'filesize': parse_filesize(v.get('size')),
"format_id": v.get("res"), 'format_id': v.get('res'),
"ext": v.get("ext"), 'ext': v.get('ext'),
} }
formats = list(map(map_formats, video_details['file']['video'])) formats = list(map(map_formats, video_details['file']['video']))
@ -48,5 +48,34 @@ class AlaaIE(InfoExtractor):
'title': video_details['title'], 'title': video_details['title'],
'formats': formats, 'formats': formats,
'thumbnail': url_or_none(video_image), 'thumbnail': url_or_none(video_image),
'duration': int_or_none(parse_duration(video_details.get('duration') + ":00")) 'duration': int_or_none(parse_duration(video_details.get('duration') + ':00'))
} }
class AlaaPlaylistIE(InfoExtractor):
_VALID_URL = r'https?://(?:www\.)?alaatv.com/set/(?P<id>[0-9]+)'
_TEST = {
'url': 'https://alaatv.com/set/181',
'info_dict': {
'title': 'صفر تا صد فیزیک یازدهم - فرشید داداشی',
'id': '181',
},
'playlist_count': 81,
}
def _real_extract(self, url):
set_id = self._match_id(url)
set_data = self._download_json('https://alaatv.com/api/v2/set/{0}'.format(set_id), set_id)
set_title = set_data['data']['title']
def map_formats(v):
return {
'id': str(v['id']),
'title': v['title'],
'url': v['url']['web'],
}
set_content = list(map(map_formats, set_data['data']['contents']))
return self.playlist_result(set_content, set_id, set_title)

View File

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