mirror of
https://github.com/miurahr/aqtinstall.git
synced 2025-12-17 20:54:38 +03:00
Load settings.ini in child process
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
This commit is contained in:
@@ -496,6 +496,5 @@ Settings = SettingsClass()
|
||||
def setup_logging(env_key="LOG_CFG"):
|
||||
config = os.getenv(env_key, None)
|
||||
if config is not None and os.path.exists(config):
|
||||
logging.config.fileConfig(config)
|
||||
else:
|
||||
logging.config.fileConfig(Settings.loggingconf)
|
||||
Settings.loggingconf = config
|
||||
logging.config.fileConfig(Settings.loggingconf)
|
||||
|
||||
@@ -1099,7 +1099,7 @@ def run_installer(archives: List[QtPackage], base_dir: str, sevenzip: Optional[s
|
||||
#
|
||||
tasks = []
|
||||
for arc in archives:
|
||||
tasks.append((arc, base_dir, sevenzip, queue, archive_dest, keep))
|
||||
tasks.append((arc, base_dir, sevenzip, queue, archive_dest, Settings.configfile, keep))
|
||||
ctx = multiprocessing.get_context("spawn")
|
||||
if is_64bit():
|
||||
pool = ctx.Pool(Settings.concurrency, init_worker_sh, (), 4)
|
||||
@@ -1154,8 +1154,8 @@ def installer(
|
||||
command: Optional[str],
|
||||
queue: multiprocessing.Queue,
|
||||
archive_dest: Path,
|
||||
keep: bool = False,
|
||||
response_timeout: Optional[int] = None,
|
||||
settings_ini: str,
|
||||
keep: bool,
|
||||
):
|
||||
"""
|
||||
Installer function to download archive files and extract it.
|
||||
@@ -1165,10 +1165,9 @@ def installer(
|
||||
base_url = qt_package.base_url
|
||||
archive: Path = archive_dest / qt_package.archive
|
||||
start_time = time.perf_counter()
|
||||
# set defaults
|
||||
Settings.load_settings()
|
||||
# set logging
|
||||
setup_logging() # XXX: why need to load again?
|
||||
Settings.load_settings(file=settings_ini)
|
||||
# setup queue logger
|
||||
setup_logging()
|
||||
qh = QueueHandler(queue)
|
||||
logger = getLogger()
|
||||
for handler in logger.handlers:
|
||||
@@ -1176,10 +1175,7 @@ def installer(
|
||||
logger.removeHandler(handler)
|
||||
logger.addHandler(qh)
|
||||
#
|
||||
if response_timeout is None:
|
||||
timeout = (Settings.connection_timeout, Settings.response_timeout)
|
||||
else:
|
||||
timeout = (Settings.connection_timeout, response_timeout)
|
||||
timeout = (Settings.connection_timeout, Settings.response_timeout)
|
||||
hash = get_hash(qt_package.archive_path, algorithm="sha256", timeout=timeout)
|
||||
|
||||
def download_bin(_base_url):
|
||||
|
||||
@@ -1215,6 +1215,8 @@ def test_install_installer_archive_extraction_err(monkeypatch):
|
||||
command="some_nonexistent_7z_extractor",
|
||||
queue=MockMultiprocessingManager.Queue(),
|
||||
archive_dest=Path(temp_dir),
|
||||
settings_ini=Settings.configfile,
|
||||
keep=False,
|
||||
)
|
||||
assert err.type == ArchiveExtractionError
|
||||
err_msg = format(err.value).rstrip()
|
||||
|
||||
Reference in New Issue
Block a user