From 3d44bfe63ad18810b549e9b555a7e8ab4a87f5d0 Mon Sep 17 00:00:00 2001 From: tretrauit Date: Tue, 20 Jun 2023 19:14:25 +0700 Subject: [PATCH] xdelta3: downloading binary perform in-memory --- vollerei/utils/xdelta3/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vollerei/utils/xdelta3/__init__.py b/vollerei/utils/xdelta3/__init__.py index d342b6e..fe29ec7 100644 --- a/vollerei/utils/xdelta3/__init__.py +++ b/vollerei/utils/xdelta3/__init__.py @@ -2,6 +2,7 @@ import platform import subprocess import requests from os import PathLike +from io import BytesIO from zipfile import ZipFile from shutil import which from vollerei.paths import tools_cache_path @@ -60,14 +61,13 @@ class Xdelta3: url = "https://github.com/jmacd/xdelta-gpl/releases/download/v3.1.0/xdelta3-3.1.0-i686.exe.zip" case "i686": url = "https://github.com/jmacd/xdelta-gpl/releases/download/v3.1.0/xdelta3-3.1.0-i686.exe.zip" - file = self._xdelta3_path.joinpath("xdelta3.zip") + file = BytesIO() with requests.get(url, stream=True) as r: with open(file, "wb") as f: for chunk in r.iter_content(chunk_size=32768): f.write(chunk) with ZipFile(file) as z: z.extractall(self._xdelta3_path) - file.unlink() def patch_file(self, patch: PathLike, target: PathLike, output: PathLike): """