mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-12-24 18:43:16 +00:00
[downloader/fragment] Ignore FileNotFoundError
when downloading livestreams
when `--live-from-start` is used for YouTube and the live ends, request for the last segment prematurely ends (or 404, 403). this is causing lack of the file and `FileNotFoundError` lacking segment doesn't have any data, so it's safe to ignore
This commit is contained in:
parent
f0734e1190
commit
195c22840c
1 changed files with 6 additions and 1 deletions
|
@ -137,7 +137,12 @@ def _download_fragment(self, ctx, frag_url, info_dict, headers=None, request_dat
|
||||||
if fragment_info_dict.get('filetime'):
|
if fragment_info_dict.get('filetime'):
|
||||||
ctx['fragment_filetime'] = fragment_info_dict.get('filetime')
|
ctx['fragment_filetime'] = fragment_info_dict.get('filetime')
|
||||||
ctx['fragment_filename_sanitized'] = fragment_filename
|
ctx['fragment_filename_sanitized'] = fragment_filename
|
||||||
return True, self._read_fragment(ctx)
|
try:
|
||||||
|
return True, self._read_fragment(ctx)
|
||||||
|
except FileNotFoundError:
|
||||||
|
if not info_dict.get('is_live'):
|
||||||
|
raise
|
||||||
|
return False, None
|
||||||
|
|
||||||
def _read_fragment(self, ctx):
|
def _read_fragment(self, ctx):
|
||||||
down, frag_sanitized = self.sanitize_open(ctx['fragment_filename_sanitized'], 'rb')
|
down, frag_sanitized = self.sanitize_open(ctx['fragment_filename_sanitized'], 'rb')
|
||||||
|
|
Loading…
Reference in a new issue