def test_parse_filesize(self): self.assertEqual(parse_filesize(None), None) self.assertEqual(parse_filesize(''), None) self.assertEqual(parse_filesize('91 B'), 91) self.assertEqual(parse_filesize('foobar'), None) self.assertEqual(parse_filesize('2 MiB'), 2097152) self.assertEqual(parse_filesize('5 GB'), 5000000000) self.assertEqual(parse_filesize('1.2Tb'), 1200000000000) self.assertEqual(parse_filesize('1,24 KB'), 1240)
def test_parse_filesize(self): self.assertEqual(parse_filesize(None), None) self.assertEqual(parse_filesize(""), None) self.assertEqual(parse_filesize("91 B"), 91) self.assertEqual(parse_filesize("foobar"), None) self.assertEqual(parse_filesize("2 MiB"), 2097152) self.assertEqual(parse_filesize("5 GB"), 5000000000) self.assertEqual(parse_filesize("1.2Tb"), 1200000000000) self.assertEqual(parse_filesize("1,24 KB"), 1240)
def _real_extract(self, url): display_id = self._match_id(url) webpage = self._download_webpage(url, display_id) password_protected = self._search_regex( r'<form[^>]+?id="(password_form)"', webpage, 'password field', fatal=False, default=None) if password_protected is not None: self._verify_video_password(url, display_id, webpage) webpage = self._download_webpage(url, display_id) video_url = self._search_regex(r"viewMp4Url: \'(.*)\'", webpage, 'video url') title = self._html_search_regex( [r"topic: \"(.*)\",", r"<title>(.*) - Zoom</title>"], webpage, 'title') viewResolvtionsWidth = self._search_regex( r"viewResolvtionsWidth: (\d*)", webpage, 'res width', fatal=False) viewResolvtionsHeight = self._search_regex( r"viewResolvtionsHeight: (\d*)", webpage, 'res height', fatal=False) fileSize = parse_filesize( self._search_regex(r"fileSize: \'(.+)\'", webpage, 'fileSize', fatal=False)) urlprefix = url.split("zoom.us")[0] + "zoom.us/" formats = [] formats.append({ 'url': url_or_none(video_url), 'width': int_or_none(viewResolvtionsWidth), 'height': int_or_none(viewResolvtionsHeight), 'http_headers': { 'Accept': 'video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5', 'Referer': urlprefix, }, 'ext': "mp4", 'filesize_approx': int_or_none(fileSize), }) self._sort_formats(formats) return {'id': display_id, 'title': title, 'formats': formats}