From 6cd9ae77647779d069d819d9ddf731f6f1e62737 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 16 Feb 2026 10:33:46 +0000 Subject: [PATCH 1/6] CU-869c570zv: Add teardown for temporary folder --- medcat-v2/tests/utils/test_download_scripts.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/medcat-v2/tests/utils/test_download_scripts.py b/medcat-v2/tests/utils/test_download_scripts.py index 56162c408..656a08d8f 100644 --- a/medcat-v2/tests/utils/test_download_scripts.py +++ b/medcat-v2/tests/utils/test_download_scripts.py @@ -18,6 +18,10 @@ def setUpClass(cls): mock_get_version.return_value = cls.use_version cls.scripts_path = download_scripts.fetch_scripts(cls._temp_dir.name) + @classmethod + def tearDownClass(cls): + cls._temp_dir.cleanup() + def test_can_download(self): self.assertTrue(os.path.exists(self.scripts_path)) self.assertTrue(os.path.isdir(self.scripts_path)) From c9c63f6ce25c1170ded86f27d26485a5e137b1a3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 16 Feb 2026 10:43:47 +0000 Subject: [PATCH 2/6] CU-869c570zv: Use a temporary directory instead of a file for Windows compatibility --- medcat-v2/medcat/utils/download_scripts.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/medcat-v2/medcat/utils/download_scripts.py b/medcat-v2/medcat/utils/download_scripts.py index ebbedb47e..fea234c6e 100644 --- a/medcat-v2/medcat/utils/download_scripts.py +++ b/medcat-v2/medcat/utils/download_scripts.py @@ -8,6 +8,7 @@ import importlib.metadata import tempfile import zipfile +import os import sys from pathlib import Path import requests @@ -146,9 +147,10 @@ def fetch_scripts(destination: str | Path = ".", dest.mkdir(parents=True, exist_ok=True) zip_url = _determine_url(overwrite_url, overwrite_tag) - with tempfile.NamedTemporaryFile() as tmp: - _download_zip(zip_url, tmp) - _extract_zip(dest, Path(tmp.name)) + with tempfile.TemporaryDirectory() as tmp_dir: + zip_path = os.path.join(tmp_dir, 'downloaded_scripts.zip') + _download_zip(zip_url, zip_path) + _extract_zip(dest, Path(zip_path)) _fix_requirements(dest, _get_medcat_version()) logger.info( "You also need to install the requiements by doing:\n" From 1644cc90ef36b29306b8b2b6267fc87fc780a909 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 16 Feb 2026 11:57:44 +0000 Subject: [PATCH 3/6] CU-869c570zv: Fix issue with zip downloading logic with changed codebase --- medcat-v2/medcat/utils/download_scripts.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/medcat-v2/medcat/utils/download_scripts.py b/medcat-v2/medcat/utils/download_scripts.py index fea234c6e..862446393 100644 --- a/medcat-v2/medcat/utils/download_scripts.py +++ b/medcat-v2/medcat/utils/download_scripts.py @@ -78,12 +78,13 @@ def _determine_url(overwrite_url: str | None, return zip_url -def _download_zip(zip_url: str, tmp: tempfile._TemporaryFileWrapper): - with requests.get(zip_url, stream=True, timeout=30) as r: - r.raise_for_status() - for chunk in r.iter_content(chunk_size=8192): - tmp.write(chunk) - tmp.flush() +def _download_zip(zip_url: str, tmp_path: str): + with open(tmp_path, 'wb') as tmp: + with requests.get(zip_url, stream=True, timeout=30) as r: + r.raise_for_status() + for chunk in r.iter_content(chunk_size=8192): + tmp.write(chunk) + tmp.flush() def _extract_zip(dest: Path, zip_path: Path): From efd793a7c51fbe41aa96a905dbe742e692875d9c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 16 Feb 2026 11:58:10 +0000 Subject: [PATCH 4/6] CU-869c570zv: Add further moclk for finding latest tag --- medcat-v2/tests/utils/test_download_scripts.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/medcat-v2/tests/utils/test_download_scripts.py b/medcat-v2/tests/utils/test_download_scripts.py index 656a08d8f..e9a75c79a 100644 --- a/medcat-v2/tests/utils/test_download_scripts.py +++ b/medcat-v2/tests/utils/test_download_scripts.py @@ -15,8 +15,12 @@ def setUpClass(cls): with unittest.mock.patch( "medcat.utils.download_scripts._get_medcat_version" ) as mock_get_version: - mock_get_version.return_value = cls.use_version - cls.scripts_path = download_scripts.fetch_scripts(cls._temp_dir.name) + with unittest.mock.patch( + "medcat.utils.download_scripts._find_latest_scripts_tag" + ) as mock_get_tag: + mock_get_version.return_value = cls.use_version + mock_get_tag.return_value = f"medcat/v{cls.use_version}" + cls.scripts_path = download_scripts.fetch_scripts(cls._temp_dir.name) @classmethod def tearDownClass(cls): From 7d2147b6d90768e553b341de51173ba61a8ba78a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 16 Feb 2026 11:59:17 +0000 Subject: [PATCH 5/6] CU-869c570zv: Run stability workflow temporarily --- .github/workflows/medcat-v2-lib-stability.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/medcat-v2-lib-stability.yml b/.github/workflows/medcat-v2-lib-stability.yml index 97857885a..db91b9f2e 100644 --- a/.github/workflows/medcat-v2-lib-stability.yml +++ b/.github/workflows/medcat-v2-lib-stability.yml @@ -8,6 +8,7 @@ on: pull_request: paths: - ".github/workflows/medcat-v2-lib-stability.yml" + - "medcat-v2/tests/utils/test_download_scripts.py" # TODO: REMOVE defaults: run: From 308042f27f2e1c34335303c3d5027a1926d2faa1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 16 Feb 2026 13:12:29 +0000 Subject: [PATCH 6/6] Revert "CU-869c570zv: Run stability workflow temporarily" This reverts commit 7d2147b6d90768e553b341de51173ba61a8ba78a. --- .github/workflows/medcat-v2-lib-stability.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/medcat-v2-lib-stability.yml b/.github/workflows/medcat-v2-lib-stability.yml index db91b9f2e..97857885a 100644 --- a/.github/workflows/medcat-v2-lib-stability.yml +++ b/.github/workflows/medcat-v2-lib-stability.yml @@ -8,7 +8,6 @@ on: pull_request: paths: - ".github/workflows/medcat-v2-lib-stability.yml" - - "medcat-v2/tests/utils/test_download_scripts.py" # TODO: REMOVE defaults: run: