Catch more exceptions in ReceiveModeFile that trigger on a full disk

This commit is contained in:
Micah Lee 2019-02-12 15:54:25 -08:00
parent 09c2696c27
commit e625d3b009
No known key found for this signature in database
GPG Key ID: 403C2657CD994F73

View File

@ -198,21 +198,24 @@ class ReceiveModeFile(object):
try:
bytes_written = self.f.write(b)
self.onionshare_write_func(self.onionshare_filename, bytes_written)
except:
# If we can't write the file, close early
self.upload_error = True
return
self.onionshare_write_func(self.onionshare_filename, bytes_written)
def close(self):
"""
Custom close method that calls out to onionshare_close_func
"""
self.f.close()
try:
self.f.close()
if not self.upload_error:
# Rename the in progress file to the final filename
os.rename(self.filename_in_progress, self.filename)
if not self.upload_error:
# Rename the in progress file to the final filename
os.rename(self.filename_in_progress, self.filename)
except:
self.upload_error = True
self.onionshare_close_func(self.onionshare_filename)