From 1cc11644924bebe007acc04f91307dc23967c4d6 Mon Sep 17 00:00:00 2001 From: dalthviz Date: Mon, 13 Jun 2022 13:58:27 -0500 Subject: [PATCH] Installers: Add flag to prevent downloading assets --- installers/Windows/installer.py | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/installers/Windows/installer.py b/installers/Windows/installer.py index 50b27c6b309..a7da10c06f2 100644 --- a/installers/Windows/installer.py +++ b/installers/Windows/installer.py @@ -320,7 +320,7 @@ def unzip_file(filename, target_directory): def run(python_version, bitness, repo_root, entrypoint, package, icon_path, license_path, extra_packages=None, conda_path=None, suffix=None, - template=None): + template=None, download_assets=True): """ Run the installer generation. @@ -329,12 +329,13 @@ def run(python_version, bitness, repo_root, entrypoint, package, icon_path, (locking the dependencies set in setup.py) is generated and pynsist runned. """ try: - print("Setting up assets from", ASSETS_URL) - print("Downloading assets from ", ASSETS_URL) - filename = download_file(ASSETS_URL, 'installers/Windows/assets') + if download_assets: + print("Setting up assets from", ASSETS_URL) + print("Downloading assets from ", ASSETS_URL) + filename = download_file(ASSETS_URL, 'installers/Windows/assets') - print("Unzipping assets to", 'installers/Windows/assets') - unzip_file(filename, 'installers/Windows/assets') + print("Unzipping assets to", 'installers/Windows/assets') + unzip_file(filename, 'installers/Windows/assets') with tempfile.TemporaryDirectory( prefix="installer-pynsist-") as work_dir: @@ -490,14 +491,27 @@ def run(python_version, bitness, repo_root, entrypoint, package, icon_path, parser.add_argument( '-t', '--template', help='Path to .nsi template for the installer') + parser.add_argument( + '-da', '--download_assets', + dest='download_assets', action='store_true', + help='Download assets from ASSETS_URL environment ''' + '''variable when running''') + parser.add_argument( + '-no-da', '--no_download_assets', + dest='download_assets', action='store_false', + help='''Prevent downloading assets from ASSETS_URL environment ''' + '''variable when running''') + parser.set_defaults(download_assets=True) args = parser.parse_args() from operator import attrgetter (python_version, bitness, setup_py_path, entrypoint, package, icon_path, - license_path, extra_packages, conda_path, suffix, template) = attrgetter( + license_path, extra_packages, conda_path, suffix, template, + download_assets) = attrgetter( 'python_version', 'bitness', 'setup_py_path', 'entrypoint', 'package', 'icon_path', 'license_path', - 'extra_packages', 'conda_path', 'suffix', 'template')(args) + 'extra_packages', 'conda_path', 'suffix', 'template', + 'download_assets')(args) if not setup_py_path.endswith("setup.py"): sys.exit("Invalid path to setup.py:", setup_py_path) @@ -512,4 +526,5 @@ def run(python_version, bitness, repo_root, entrypoint, package, icon_path, run(python_version, bitness, repo_root, entrypoint, package, icon_file, license_file, extra_packages=extra_packages, - conda_path=conda_path, suffix=suffix, template=template) + conda_path=conda_path, suffix=suffix, template=template, + download_assets=download_assets)