Compare commits

..

No commits in common. "63654ea6f9d315a0c560a036e6afead39adc18b6" and "d8930151f12a04553f8eef50056d6cab8daf771e" have entirely different histories.

View File

@ -196,10 +196,7 @@ class MicrosoftLearnIE(MicrosoftMediusBaseIE):
def _entries(self, url_base, video_id):
skip = 0
while True:
playlist_info = self._download_json(url_base, video_id, f'Downloading entries {skip}', query={
'locale': 'en-us',
'$skip': skip,
})
playlist_info = self._download_json(f'{url_base}&$skip={skip}', video_id, f'Downloading entries {skip}')
items = traverse_obj(playlist_info, (
'results', ..., 'url', {lambda x: self.url_result(f'https://learn.microsoft.com/en-us{x}')}))
yield from items
@ -217,17 +214,14 @@ class MicrosoftLearnIE(MicrosoftMediusBaseIE):
'description': self._og_search_description(webpage),
}
if not slug:
url_base = f'https://learn.microsoft.com/api/contentbrowser/search/{video_type}/{series}/{"sessions" if video_type == "events" else "episodes"}'
return self.playlist_result(self._entries(url_base, video_id), video_id, **metainfo)
if slug:
if video_type == 'events':
return self.url_result(
self._search_regex(r'<meta\s+name="externalVideoUrl"\s+content="([^"]+)"', webpage, 'videoUrl'), url_transparent=True, **metainfo, **{
'timestamp': parse_iso8601(self._search_regex(
r'<meta\s+name="startDate"\s+content="([^"]+)"', webpage, 'date', default=None)),
})
else:
entry_id = self._search_regex(r'<meta name="entryId" content="([^"]+)"', webpage, 'entryId')
video_info = self._download_json(
f'https://learn.microsoft.com/api/video/public/v1/entries/{entry_id}', video_id)
@ -244,6 +238,9 @@ class MicrosoftLearnIE(MicrosoftMediusBaseIE):
'thumbnails': ('publicVideo', 'thumbnailOtherSizes', ..., {lambda x: {'url': x}}),
}),
}
else:
url_base = f'https://learn.microsoft.com/api/contentbrowser/search/{video_type}/{series}/{"sessions" if video_type == "events" else "episodes"}?locale=en-us'
return self.playlist_result(self._entries(url_base, video_id), video_id, **metainfo)
class MicrosoftBuildIE(MicrosoftMediusBaseIE):