wrap file access into exception handler.
This commit is contained in:
parent
cd0118e961
commit
fef60f0395
1 changed files with 11 additions and 13 deletions
|
|
@ -340,7 +340,11 @@ class Download:
|
|||
self.info.filename = os.path.relpath(status.get("filename"), self.download_dir)
|
||||
|
||||
if os.path.exists(status.get("filename")):
|
||||
self.info.file_size = os.path.getsize(status.get("filename"))
|
||||
try:
|
||||
self.info.file_size = os.path.getsize(status.get("filename"))
|
||||
except FileNotFoundError:
|
||||
self.info.file_size = 0
|
||||
pass
|
||||
|
||||
self.info.status = status.get("status", self.info.status)
|
||||
self.info.msg = status.get("msg")
|
||||
|
|
@ -360,22 +364,16 @@ class Download:
|
|||
self.info.speed = status.get("speed")
|
||||
self.info.eta = status.get("eta")
|
||||
|
||||
if self.info.status == "finished" and "filename" in status:
|
||||
if self.info.status == "finished" and "filename" in status and os.path.exists(status.get("filename")):
|
||||
try:
|
||||
self.info.file_size = os.path.getsize(status.get("filename"))
|
||||
except FileNotFoundError:
|
||||
LOG.warning(f'File not found: {status.get("filename")}')
|
||||
self.info.file_size = None
|
||||
pass
|
||||
|
||||
try:
|
||||
ff = await ffprobe(status.get("filename"))
|
||||
self.info.extras['is_video'] = ff.has_video()
|
||||
self.info.extras['is_audio'] = ff.has_audio()
|
||||
self.info.extras["is_video"] = ff.has_video()
|
||||
self.info.extras["is_audio"] = ff.has_audio()
|
||||
self.info.datetime = str(formatdate(time.time()))
|
||||
except Exception as e:
|
||||
self.info.extras['is_video'] = True
|
||||
self.info.extras['is_audio'] = True
|
||||
except (FileNotFoundError, Exception) as e:
|
||||
self.info.extras["is_video"] = True
|
||||
self.info.extras["is_audio"] = True
|
||||
LOG.exception(f"Failed to ffprobe: {status.get('filename')}. {e}")
|
||||
|
||||
asyncio.create_task(self.emitter.updated(dl=self.info), name=f"emitter-u-{self.id}")
|
||||
|
|
|
|||
Loading…
Reference in a new issue