diff --git a/src/c3nav/mapdata/utils/cache/package.py b/src/c3nav/mapdata/utils/cache/package.py index 4165849d..e5f823bf 100644 --- a/src/c3nav/mapdata/utils/cache/package.py +++ b/src/c3nav/mapdata/utils/cache/package.py @@ -50,3 +50,22 @@ class CachePackage: def save_all(self, filename=None): for compression in (None, 'gz', 'xz'): self.save(filename, compression) + + @classmethod + def read(cls, f): + f = TarFile.open(fileobj=f) + files = {info.name: info for info in f.getmembers()} + + bounds = tuple(i/100 for i in struct.unpack('