From 360cd8488fe017d54b1d61e78e9ef2faa64b9f12 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Mon, 30 Jan 2023 17:56:05 +0100 Subject: [PATCH] micro-opt: construct borg1_header_fmt Struct only once --- src/borg/upgrade.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/borg/upgrade.py b/src/borg/upgrade.py index 60d21af65..3c6ef04ba 100644 --- a/src/borg/upgrade.py +++ b/src/borg/upgrade.py @@ -41,6 +41,8 @@ def upgrade_archive_metadata(self, *, metadata): class UpgraderFrom12To20: + borg1_header_fmt = Struct(">I") + def __init__(self, *, cache): self.cache = cache @@ -126,10 +128,9 @@ def upgrade_zlib_and_level(meta, data): if ctype == ObfuscateSize.ID: # in older borg, we used unusual byte order - borg1_header_fmt = Struct(">I") - hlen = borg1_header_fmt.size + hlen = self.borg1_header_fmt.size csize_bytes = data[2 : 2 + hlen] - csize = borg1_header_fmt.unpack(csize_bytes)[0] + csize = self.borg1_header_fmt.unpack(csize_bytes)[0] compressed = data[2 + hlen : 2 + hlen + csize] meta, compressed = upgrade_zlib_and_level(meta, compressed) meta["psize"] = csize