try to fix MapHistory updating

This commit is contained in:
Laura Klünder 2017-11-16 19:24:49 +01:00
parent 6dbfa8c023
commit 8c9346a074
3 changed files with 39 additions and 10 deletions

View file

@ -256,13 +256,23 @@ class GeometryChangeTracker:
self._geometries_by_level = {}
self._deleted_levels = set()
def save(self, last_update, new_update):
def finalize(self):
for level_id in self._deleted_levels:
try:
os.remove(MapHistory.level_filename(level_id, mode='base'))
except FileNotFoundError:
pass
self._geometries_by_level.pop(level_id, None)
self._deleted_levels = set()
def combine(self, other):
self.finalize()
other.finalize()
for level_id, geometries in other._geometries_by_level.items():
self._geometries_by_level.setdefault(level_id, []).extend(geometries)
def save(self, last_update, new_update):
self.finalize()
for level_id, geometries in self._geometries_by_level.items():
geometries = unary_union(geometries)