1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-02-26 07:53:58 +00:00

micro-opt: construct borg1_header_fmt Struct only once

This commit is contained in:
Thomas Waldmann 2023-01-30 17:56:05 +01:00
parent e772d70e05
commit 360cd8488f
No known key found for this signature in database
GPG key ID: 243ACFA951F78E01

View file

@ -41,6 +41,8 @@ def upgrade_archive_metadata(self, *, metadata):
class UpgraderFrom12To20: class UpgraderFrom12To20:
borg1_header_fmt = Struct(">I")
def __init__(self, *, cache): def __init__(self, *, cache):
self.cache = cache self.cache = cache
@ -126,10 +128,9 @@ def upgrade_zlib_and_level(meta, data):
if ctype == ObfuscateSize.ID: if ctype == ObfuscateSize.ID:
# in older borg, we used unusual byte order # in older borg, we used unusual byte order
borg1_header_fmt = Struct(">I") hlen = self.borg1_header_fmt.size
hlen = borg1_header_fmt.size
csize_bytes = data[2 : 2 + hlen] 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] compressed = data[2 + hlen : 2 + hlen + csize]
meta, compressed = upgrade_zlib_and_level(meta, compressed) meta, compressed = upgrade_zlib_and_level(meta, compressed)
meta["psize"] = csize meta["psize"] = csize