Include connection errors in exception handling

This commit is contained in:
2022-08-20 12:58:47 +01:00
parent 168b2b288a
commit 72f2af1df8
15 changed files with 63 additions and 68 deletions

View File

@@ -45,12 +45,12 @@ class Dataset(db.Model):
def make_default(self):
try:
for dataset in Dataset.query.all(): dataset.default = False
except SQLAlchemyError as exception:
except (SQLAlchemyError, ConnectionError) as exception:
write('system.log', f'Database error when setting default dataset {self.id}: {exception}')
return False, f'Database error {exception}.'
self.default = True
try: db.session.commit()
except SQLAlchemyError as exception:
except (SQLAlchemyError, ConnectionError) as exception:
db.session.rollback()
write('system.log', f'Database error when setting default dataset {self.id}: {exception}')
return False, f'Database error {exception}.'
@@ -68,7 +68,7 @@ class Dataset(db.Model):
message = 'Cannot delete the only dataset.'
flash(message, 'error')
return False, message
except SQLAlchemyError as exception:
except (SQLAlchemyError, ConnectionError) as exception:
write('system.log', f'Database error when setting default dataset {self.id}: {exception}')
return False, f'Database error {exception}.'
write('system.log', f'Dataset {self.id} deleted by {current_user.get_username()}.')
@@ -78,7 +78,7 @@ class Dataset(db.Model):
try:
db.session.delete(self)
db.session.commit()
except SQLAlchemyError as exception:
except (SQLAlchemyError, ConnectionError) as exception:
db.session.rollback()
write('system.log', f'Database error when trying to delete dataset {self.id}: {exception}')
return False, f'Database error: {exception}'
@@ -98,7 +98,7 @@ class Dataset(db.Model):
try:
db.session.add(self)
db.session.commit()
except SQLAlchemyError as exception:
except (SQLAlchemyError, ConnectionError) as exception:
db.session.rollback()
write('system.log', f'Database error when trying to crreate dataset {self.id}: {exception}')
return False, f'Database error: {exception}'
@@ -128,7 +128,7 @@ class Dataset(db.Model):
try:
db.session.add(self)
db.session.commit()
except SQLAlchemyError as exception:
except (SQLAlchemyError, ConnectionError) as exception:
db.session.rollback()
write('system.log', f'Database error when trying to update dataset {self.id}: {exception}')
return False, f'Database error: {exception}'