def read(self): qs = query_url(self.url) for key in qs: if key.lower() in ('file', 'filename'): name = qs[key][(-1)] break else: name = os.path.basename(self.url) for esc in ['?', '#']: name = name.split(esc)[0] ext = get_ext(name) if not ext: try: ext = downloader.get_ext(self.url) except: ext = '' name = os.path.splitext(name)[0] self.urls.append(self.url) id_ = md5(self.url.encode('utf8')).hexdigest()[:8] tail = ' ({}){}'.format(id_, ext) filename = clean_title(name, n=-len(tail)) + tail self.filenames[self.url] = filename self.title = filename
def get(self, referer): ext = downloader.get_ext(self._url, referer=referer) if ext == '.m3u8': video = M3u8_stream(self._url, n_thread=4) else: video = self._url return video
def get_ext_(url, session, referer): try: ext = downloader.get_ext(url, session, referer) except Exception as e: print(e) ext = get_ext(url) return ext
def get(self, _): print_ = get_print(self.cw) url = self._url ext = get_ext(url) if ext.lower() == '.gif': print_('get_ext: {}, {}'.format(self.id_, url)) try: ext = downloader.get_ext(url) except Exception as e: #3235 print_('Err: {}, {}\n'.format(self.id_, url)+print_error(e)[0]) self.filename = '{}_p{}{}'.format(self.id_, self.p, ext) return url
def get(self, _): print_ = get_print(self.cw) url = self._url ext = get_ext(url) if ext.lower()[1:] not in ['jpg', 'png', 'mp4']: #4645 print_('get_ext: {}, {}'.format(self.id_, url)) try: ext = downloader.get_ext(url, referer=_) except Exception as e: #3235 print_('Err: {}, {}\n'.format(self.id_, url) + print_error(e)[0]) self.filename = '{}_p{}{}'.format(self.id_, self.p, ext) return url
def __init__(self, f, f_audio, info, session, referer, cw=None): self.f_audio = f_audio self.cw = cw self.title = title = info['title'] self.id = info['id'] self.url = f['url'] self.artist = info.get('uploader') self.header = utils.capitalize(get_ie_key(info)) self.session = session self.referer = referer self.url_thumb = info.get('thumbnail') self.thumb = BytesIO() if self.url_thumb: downloader.download(self.url_thumb, referer=referer, buffer=self.thumb, session=session) try: ext = downloader.get_ext(self.url, session, referer) except Exception as e: print(e) ext = get_ext(self.url) if not ext: print('empty ext') if f['_resolution']: ext = '.mp4' else: ext = '.mp3' if ext.lower() == '.m3u8': try: url = playlist2stream(self.url, referer, session=session, n_thread=4) except: url = M3u8_stream(self.url, referer=referer, session=session, n_thread=4) ext = '.mp4' else: url = self.url self.url = LazyUrl(referer, lambda x: url, self, pp=self.pp) self.filename = format_filename(title, self.id, ext, header=self.header)
def read(self): qs = query_url(self.url) for key in qs: if key.lower() in ('file', 'filename'): name = qs[key][(-1)] break else: name = os.path.basename(self.url) for esc in ['?', '#']: name = name.split(esc)[0] if not get_ext(name): name += downloader.get_ext(self.url) self.urls.append(self.url) self.filenames[self.url] = clean_title(name) self.title = name
def __init__(self, url, page, p): ext = get_ext(url) or downloader.get_ext(url, referer=page.url) self.filename = '{}/{:04}{}'.format(clean_title(page.title), p, ext) self.url = LazyUrl(page.url, lambda _: url, self)
def get_ext(url, referer=None): ext = os.path.splitext(url.split('?')[0].replace('~noop.image', ''))[1] if ext in ['.image', '']: ext = downloader.get_ext(url, referer=referer) return ext