From 0054ea206709fc39e04559949297479bb0ed9d52 Mon Sep 17 00:00:00 2001 From: Rossen Georgiev <rossen@rgp.io> Date: Thu, 11 Feb 2021 22:27:24 +0000 Subject: [PATCH] refactor decrypt_filenames() for speed --- steam/core/manifest.py | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/steam/core/manifest.py b/steam/core/manifest.py index 8880de2..8bea8ab 100644 --- a/steam/core/manifest.py +++ b/steam/core/manifest.py @@ -190,23 +190,14 @@ class DepotManifest(object): if not self.metadata.filenames_encrypted: return - for mapping in self.payload.mappings: - filename = b64decode(mapping.filename) - - if mapping.linktarget: - linktarget = b64decode(mapping.linktarget) - - try: - filename = symmetric_decrypt(filename, depot_key) - if mapping.linktarget: - linktarget = symmetric_decrypt(linktarget, depot_key) - except Exception: - raise RuntimeError("Unable to decrypt filename for depot manifest") - - mapping.filename = filename + try: + for m in self.payload.mappings: + m.filename = symmetric_decrypt(b64decode(m.filename), depot_key) - if mapping.linktarget: - mapping.linktarget = linktarget + if m.linktarget: + m.linktarget = symmetric_decrypt(b64decode(m.linktarget), depot_key) + except Exception: + raise RuntimeError("Unable to decrypt filename for depot manifest") self.metadata.filenames_encrypted = False