[sponskrub] Better debug output and error message

pull/30/head
pukkandan 4 years ago
parent 43820c0370
commit fbced7341d

@ -108,4 +108,4 @@ class TrovoLiveIE(InfoExtractor):
'is_live': try_get(player_info, lambda x: x['isLive'], bool), 'is_live': try_get(player_info, lambda x: x['isLive'], bool),
'thumbnail': url_or_none(vod_info.get('coverUrl')), 'thumbnail': url_or_none(vod_info.get('coverUrl')),
'uploader_id': str_or_none(try_get(vod_details, lambda x: x['json'][video_id]['streamerInfo']['uid'])), 'uploader_id': str_or_none(try_get(vod_details, lambda x: x['json'][video_id]['streamerInfo']['uid'])),
} }

@ -40,9 +40,10 @@ class PostProcessor(object):
name = cls.__name__[:-2] name = cls.__name__[:-2]
return compat_str(name[6:]) if name[:6].lower() == 'ffmpeg' else name return compat_str(name[6:]) if name[:6].lower() == 'ffmpeg' else name
def to_screen(self, text, *args, **kwargs): def to_screen(self, text, prefix=True, *args, **kwargs):
tag = '[%s] ' % self.PP_NAME if prefix else ''
if self._downloader: if self._downloader:
return self._downloader.to_screen('[%s] %s' % (self.PP_NAME, text), *args, **kwargs) return self._downloader.to_screen('%s%s' % (tag, text), *args, **kwargs)
def report_warning(self, text, *args, **kwargs): def report_warning(self, text, *args, **kwargs):
if self._downloader: if self._downloader:
@ -52,9 +53,10 @@ class PostProcessor(object):
if self._downloader: if self._downloader:
return self._downloader.report_error(text, *args, **kwargs) return self._downloader.report_error(text, *args, **kwargs)
def write_debug(self, text, *args, **kwargs): def write_debug(self, text, prefix=True, *args, **kwargs):
tag = '[debug] ' if prefix else ''
if self.get_param('verbose', False): if self.get_param('verbose', False):
return self._downloader.to_screen('[debug] %s' % text, *args, **kwargs) return self._downloader.to_screen('%s%s' % (tag, text), *args, **kwargs)
def get_param(self, name, default=None, *args, **kwargs): def get_param(self, name, default=None, *args, **kwargs):
if self._downloader: if self._downloader:

@ -63,7 +63,7 @@ class SponSkrubPP(PostProcessor):
if os.path.exists(encodeFilename(temp_filename)): if os.path.exists(encodeFilename(temp_filename)):
os.remove(encodeFilename(temp_filename)) os.remove(encodeFilename(temp_filename))
cmd = [self.path] cmd = [self.path]
if not self.cutout: if not self.cutout:
cmd += ['-chapter'] cmd += ['-chapter']
cmd += compat_shlex_split(self.args) # For backward compatibility cmd += compat_shlex_split(self.args) # For backward compatibility
@ -82,9 +82,8 @@ class SponSkrubPP(PostProcessor):
elif p.returncode == 3: elif p.returncode == 3:
self.to_screen('No segments in the SponsorBlock database') self.to_screen('No segments in the SponsorBlock database')
else: else:
stderr = stderr.decode('utf-8', 'replace') msg = stderr.decode('utf-8', 'replace').strip() or stdout.decode('utf-8', 'replace').strip()
msg = stderr.strip() self.write_debug(msg, prefix=False)
if not self.get_param('verbose', False): msg = msg.split('\n')[-1]
msg = msg.split('\n')[-1] raise PostProcessingError(msg if msg else 'sponskrub failed with error code %s' % p.returncode)
raise PostProcessingError(msg if msg else 'sponskrub failed with error code %s!' % p.returncode)
return [], information return [], information

Loading…
Cancel
Save