From 7666b91efc7a5d7310a4bab632ebee6e88bcc03e Mon Sep 17 00:00:00 2001 From: InsanePrawn Date: Mon, 17 Apr 2023 06:21:34 +0200 Subject: [PATCH] distro/package: acquire(): allow overriding filename and use utils.download_file() --- distro/package.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/distro/package.py b/distro/package.py index 4a5b5a6..721dfe3 100644 --- a/distro/package.py +++ b/distro/package.py @@ -1,11 +1,10 @@ import logging import os -from shutil import copyfileobj from typing import Optional, Union -from urllib.request import urlopen from exec.file import get_temp_dir, makedir +from utils import download_file class PackageInfo: @@ -77,17 +76,16 @@ class LocalPackage(BinaryPackage): class RemotePackage(BinaryPackage): - def acquire(self, dest_dir: Optional[str] = None) -> str: + def acquire(self, dest_dir: Optional[str] = None, filename: Optional[str] = None) -> str: assert self.resolved_url and '.pkg.tar.' in self.resolved_url url = f"{self.resolved_url}" assert url dest_dir = dest_dir or get_temp_dir() makedir(dest_dir) - dest_file_path = os.path.join(dest_dir, self.filename) + dest_file_path = os.path.join(dest_dir, filename or self.filename) logging.info(f"Trying to download package {url}") - with urlopen(url) as fsrc, open(dest_file_path, 'wb') as fdst: - copyfileobj(fsrc, fdst) + download_file(dest_file_path, url) logging.info(f"{self.filename} downloaded from repos") return dest_file_path