aboutsummaryrefslogtreecommitdiffstats
path: root/packaging-tools/bldinstallercommon.py
diff options
context:
space:
mode:
Diffstat (limited to 'packaging-tools/bldinstallercommon.py')
-rw-r--r--packaging-tools/bldinstallercommon.py33
1 files changed, 17 insertions, 16 deletions
diff --git a/packaging-tools/bldinstallercommon.py b/packaging-tools/bldinstallercommon.py
index 70ae75212..693b09e0a 100644
--- a/packaging-tools/bldinstallercommon.py
+++ b/packaging-tools/bldinstallercommon.py
@@ -40,7 +40,7 @@ from pathlib import Path
from subprocess import PIPE, STDOUT, Popen, check_call
from tempfile import mkdtemp
from traceback import print_exc
-from typing import Callable, List, Union
+from typing import Callable, List, Optional, Union
from urllib.parse import urlparse
from urllib.request import urlcleanup, urlopen, urlretrieve
@@ -77,11 +77,8 @@ def is_content_url_valid(url):
###############################
# function
###############################
-current_download_percent = 0 # pylint: disable=C0103
-
-
def dl_progress(count, block_size, total_size):
- global current_download_percent # pylint: disable=C0103
+ current_download_percent = 0
percent = int(count * block_size * 100 / total_size)
# produce only reasonable amount of prints into stdout
if percent > current_download_percent:
@@ -102,14 +99,14 @@ def retrieve_url(url, savefile):
urlcleanup()
urlretrieve(url, savefile_tmp, reporthook=dl_progress)
shutil.move(savefile_tmp, savefile)
- except Exception:
+ except Exception as err:
exc = sys.exc_info()[0]
print(exc)
try:
os.remove(savefile_tmp)
except Exception: # swallow, do not shadow actual error
pass
- raise exc
+ raise exc from err
###############################
@@ -300,7 +297,8 @@ def locate_executable(search_dir: Union[str, Path], patterns: List[str]) -> str:
# Function
###############################
def locate_path(search_dir: Union[str, Path], patterns: List[str],
- filters: List[Callable[[Path], bool]] = []) -> str:
+ filters: Optional[List[Callable[[Path], bool]]] = None) -> str:
+ filters = filters or []
matches = locate_paths(search_dir, patterns, filters)
if len(matches) != 1:
raise PackagingError(f"Expected one result in '{search_dir}' matching '{patterns}'"
@@ -312,7 +310,8 @@ def locate_path(search_dir: Union[str, Path], patterns: List[str],
# Function
###############################
def locate_paths(search_dir: Union[str, Path], patterns: List[str],
- filters: List[Callable[[Path], bool]] = []) -> List[str]:
+ filters: Optional[List[Callable[[Path], bool]]] = None) -> List[str]:
+ filters = filters or []
patterns = patterns if patterns else ["*"]
paths = [p for p in Path(search_dir).rglob("*") if any(p.match(ptn) for ptn in patterns)]
return [str(p) for p in paths if all(f(p) for f in filters)]
@@ -388,7 +387,8 @@ def sanity_check_rpath_max_length(file_path, new_rpath):
###############################
# Function
###############################
-def pathsplit(path, rest=[]):
+def pathsplit(path, rest=None):
+ rest = rest or []
(head, tail) = os.path.split(path)
if len(head) < 1:
return [tail] + rest
@@ -397,7 +397,8 @@ def pathsplit(path, rest=[]):
return pathsplit(head, [tail] + rest)
-def commonpath(list1, list2, common=[]):
+def commonpath(list1, list2, common=None):
+ common = common or []
if len(list1) < 1:
return (common, list1, list2)
if len(list2) < 1:
@@ -641,9 +642,9 @@ def create_extract_function(file_path, target_path):
def create_download_and_extract_tasks(url, target_path, temp_path):
filename = os.path.basename(urlparse(url).path)
sevenzip_file = os.path.join(temp_path, filename)
- download_task = Task(f"download '{url}' to '{sevenzip_file}'")
+ download_task = Task(f"download '{url}' to '{sevenzip_file}'", function=None)
download_task.add_function(download, url, sevenzip_file)
- extract_task = Task(f"extract '{sevenzip_file}' to '{target_path}'")
+ extract_task = Task(f"extract '{sevenzip_file}' to '{target_path}'", function=None)
extract_task.add_function(create_extract_function(sevenzip_file, target_path))
return (download_task, extract_task)
@@ -654,7 +655,7 @@ def create_download_and_extract_tasks(url, target_path, temp_path):
def create_download_extract_task(url, target_path, temp_path):
filename = os.path.basename(urlparse(url).path)
sevenzip_file = os.path.join(temp_path, filename)
- download_extract_task = Task(f"download {url} to {sevenzip_file} and extract it to {target_path}")
+ download_extract_task = Task(f"download {url} to {sevenzip_file} and extract it to {target_path}", function=None)
download_extract_task.add_function(download, url, sevenzip_file)
download_extract_task.add_function(create_extract_function(sevenzip_file, target_path))
return download_extract_task
@@ -664,9 +665,9 @@ def create_download_extract_task(url, target_path, temp_path):
# function
###############################
def create_qt_download_task(module_urls, target_qt5_path, temp_path, caller_arguments):
- qt_task = Task(f'download and extract Qt to "{target_qt5_path}"')
+ qt_task = Task(f'download and extract Qt to "{target_qt5_path}"', function=None)
download_work = ThreadedWork(f'download Qt packages to "{temp_path}"')
- unzip_task = Task(f'extracting packages to "{target_qt5_path}"')
+ unzip_task = Task(f'extracting packages to "{target_qt5_path}"', function=None)
# add Qt modules
for module_url in module_urls:
if is_content_url_valid(module_url):