Browse Source

transfer/upgrade: do not access Item._dict, fixes #7077

after the cython code refactor in #7063, accessing the internal _dict is
not possible any more.

but looks like we do not even need that.
Thomas Waldmann 2 years ago
parent
commit
3fa7837a8b
1 changed files with 6 additions and 6 deletions
  1. 6 6
      src/borg/upgrade.py

+ 6 - 6
src/borg/upgrade.py

@@ -77,18 +77,18 @@ class UpgraderFrom12To20:
         }
         }
 
 
         if self.hlm.borg1_hardlink_master(item):
         if self.hlm.borg1_hardlink_master(item):
-            item._dict["hlid"] = hlid = self.hlm.hardlink_id_from_path(item._dict["path"])
-            self.hlm.remember(id=hlid, info=(item._dict.get("chunks"), item._dict.get("chunks_healthy")))
+            item.hlid = hlid = self.hlm.hardlink_id_from_path(item.path)
+            self.hlm.remember(id=hlid, info=(item.get("chunks"), item.get("chunks_healthy")))
         elif self.hlm.borg1_hardlink_slave(item):
         elif self.hlm.borg1_hardlink_slave(item):
-            item._dict["hlid"] = hlid = self.hlm.hardlink_id_from_path(item._dict["source"])
+            item.hlid = hlid = self.hlm.hardlink_id_from_path(item.source)
             chunks, chunks_healthy = self.hlm.retrieve(id=hlid, default=(None, None))
             chunks, chunks_healthy = self.hlm.retrieve(id=hlid, default=(None, None))
             if chunks is not None:
             if chunks is not None:
-                item._dict["chunks"] = chunks
+                item.chunks = chunks
                 for chunk_id, _ in chunks:
                 for chunk_id, _ in chunks:
                     self.cache.chunk_incref(chunk_id, self.archive.stats)
                     self.cache.chunk_incref(chunk_id, self.archive.stats)
             if chunks_healthy is not None:
             if chunks_healthy is not None:
-                item._dict["chunks_healthy"] = chunks
-            item._dict.pop("source")  # not used for hardlinks any more, replaced by hlid
+                item.chunks_healthy = chunks
+            del item.source  # not used for hardlinks any more, replaced by hlid
         # make sure we only have desired stuff in the new item. specifically, make sure to get rid of:
         # make sure we only have desired stuff in the new item. specifically, make sure to get rid of:
         # - 'acl' remnants of bug in attic <= 0.13
         # - 'acl' remnants of bug in attic <= 0.13
         # - 'hardlink_master' (superseded by hlid)
         # - 'hardlink_master' (superseded by hlid)