diff --git a/legendary/models/manifest.py b/legendary/models/manifest.py index ed775b8..d0809f9 100644 --- a/legendary/models/manifest.py +++ b/legendary/models/manifest.py @@ -400,11 +400,12 @@ class ChunkInfo: self.guid = None self.hash = 0 self.sha_hash = b'' - self.group_num = 0 self.window_size = 0 self.file_size = 0 + self._manifest_version = manifest_version # caches for things that are "expensive" to compute + self._group_num = None self._guid_str = None self._guid_num = None @@ -426,17 +427,28 @@ class ChunkInfo: self._guid_num = self.guid[3] + (self.guid[2] << 32) + (self.guid[1] << 64) + (self.guid[0] << 96) return self._guid_num + @property + def group_num(self): + if self._guid_num is not None: + return self._group_num + + self._group_num = (zlib.crc32( + struct.pack('