From c176d1efb4111fcf7a1288ec1642cd13f8edf4db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Thu, 26 Dec 2024 19:37:15 +0100 Subject: [PATCH] oh what fun, we deal with corrupted pickle files now --- src/c3nav/mapdata/models/update.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/c3nav/mapdata/models/update.py b/src/c3nav/mapdata/models/update.py index 7db1fc37..a847b014 100644 --- a/src/c3nav/mapdata/models/update.py +++ b/src/c3nav/mapdata/models/update.py @@ -219,12 +219,15 @@ class MapUpdate(models.Model): for new_update in new_updates: logger.info('Applying changed geometries from MapUpdate #%(id)s (%(type)s)...' % {'id': new_update.pk, 'type': new_update.type}) - new_changes = new_update.get_changed_geometries() - if new_changes is None: - logger.warning('changed_geometries pickle file not found.') - else: - logger.info('%.3f m² affected by this update.' % new_changes.area) - changed_geometries.combine(new_changes) + try: + new_changes = new_update.get_changed_geometries() + if new_changes is None: + logger.warning('changed_geometries pickle file not found.') + else: + logger.info('%.3f m² affected by this update.' % new_changes.area) + changed_geometries.combine(new_changes) + except EOFError: + logger.warning('changed_geometries pickle file corrupted.') logger.info('%.3f m² of geometries affected in total.' % changed_geometries.area)