diff options
Diffstat (limited to 'dev-python/fsspec/files/fsspec-2024.9.0-backports.patch')
-rw-r--r-- | dev-python/fsspec/files/fsspec-2024.9.0-backports.patch | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/dev-python/fsspec/files/fsspec-2024.9.0-backports.patch b/dev-python/fsspec/files/fsspec-2024.9.0-backports.patch new file mode 100644 index 000000000000..a8f9f965c083 --- /dev/null +++ b/dev-python/fsspec/files/fsspec-2024.9.0-backports.patch @@ -0,0 +1,128 @@ +From edf495736a39c0031d5514e8350363dfa229f3d4 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade <quantum.analyst@gmail.com> +Date: Sun, 22 Sep 2024 23:48:36 -0400 +Subject: [PATCH] Fix handling of Paths in zip implementation + +Fixes #1688 +--- + fsspec/implementations/zip.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/fsspec/implementations/zip.py b/fsspec/implementations/zip.py +index aa6a57842..6db3ae278 100644 +--- a/fsspec/implementations/zip.py ++++ b/fsspec/implementations/zip.py +@@ -1,3 +1,4 @@ ++import os + import zipfile + + import fsspec +@@ -48,7 +49,7 @@ def __init__( + if mode not in set("rwa"): + raise ValueError(f"mode '{mode}' no understood") + self.mode = mode +- if isinstance(fo, str): ++ if isinstance(fo, (str, os.PathLike)): + if mode == "a": + m = "r+b" + else: +From dc4f5a97d90238b862fa7974a9b8e93602f44540 Mon Sep 17 00:00:00 2001 +From: Martin Durant <martindurant@users.noreply.github.com> +Date: Mon, 23 Sep 2024 09:42:21 -0400 +Subject: [PATCH] Don't require absolute offsets in zip tests (#1691) + +--- + fsspec/implementations/tests/test_zip.py | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/fsspec/implementations/tests/test_zip.py b/fsspec/implementations/tests/test_zip.py +index ecd082f3f..8bf8155d9 100644 +--- a/fsspec/implementations/tests/test_zip.py ++++ b/fsspec/implementations/tests/test_zip.py +@@ -169,12 +169,16 @@ def _assert_all_except_context_dependent_variables(result, expected_result): + result_without_date_time.pop("_raw_time") + result_without_date_time.pop("external_attr") + result_without_date_time.pop("create_system") ++ result_without_date_time.pop("_end_offset", None) ++ result_without_date_time.pop("header_offset", None) + + expected_result_without_date_time = expected_result[path].copy() + expected_result_without_date_time.pop("date_time") + expected_result_without_date_time.pop("_raw_time") + expected_result_without_date_time.pop("external_attr") + expected_result_without_date_time.pop("create_system") ++ expected_result_without_date_time.pop("_end_offset", None) ++ expected_result_without_date_time.pop("header_offset", None) + assert result_without_date_time == expected_result_without_date_time + + +From 0021859ff78bbf62e86c330e2dad00c5dd205108 Mon Sep 17 00:00:00 2001 +From: Martin Durant <martin.durant@alumni.utoronto.ca> +Date: Wed, 2 Oct 2024 11:37:14 -0400 +Subject: [PATCH] Limit fields checked in ZIP tests + +--- + fsspec/asyn.py | 4 +++ + fsspec/implementations/tests/test_zip.py | 34 +++++++++++++----------- + 2 files changed, 23 insertions(+), 15 deletions(-) + +diff --git a/fsspec/asyn.py b/fsspec/asyn.py +index f203fa0a4..de41839ea 100644 +--- a/fsspec/asyn.py ++++ b/fsspec/asyn.py +@@ -344,6 +344,10 @@ async def _rm(self, path, recursive=False, batch_size=None, **kwargs): + async def _cp_file(self, path1, path2, **kwargs): + raise NotImplementedError + ++ async def _mv_file(self, path1, path2): ++ await self._cp_file(path1, path2) ++ await self._rm_file(path1) ++ + async def _copy( + self, + path1, +diff --git a/fsspec/implementations/tests/test_zip.py b/fsspec/implementations/tests/test_zip.py +index 8bf8155d9..14d00086e 100644 +--- a/fsspec/implementations/tests/test_zip.py ++++ b/fsspec/implementations/tests/test_zip.py +@@ -164,21 +164,25 @@ def zip_file_fixture(tmp_path): + def _assert_all_except_context_dependent_variables(result, expected_result): + for path in expected_result.keys(): + assert result[path] +- result_without_date_time = result[path].copy() +- result_without_date_time.pop("date_time") +- result_without_date_time.pop("_raw_time") +- result_without_date_time.pop("external_attr") +- result_without_date_time.pop("create_system") +- result_without_date_time.pop("_end_offset", None) +- result_without_date_time.pop("header_offset", None) +- +- expected_result_without_date_time = expected_result[path].copy() +- expected_result_without_date_time.pop("date_time") +- expected_result_without_date_time.pop("_raw_time") +- expected_result_without_date_time.pop("external_attr") +- expected_result_without_date_time.pop("create_system") +- expected_result_without_date_time.pop("_end_offset", None) +- expected_result_without_date_time.pop("header_offset", None) ++ fields = [ ++ "orig_filename", ++ "filename", ++ "compress_type", ++ "comment", ++ "extra", ++ "CRC", ++ "compress_size", ++ "file_size", ++ "name", ++ "size", ++ "type", ++ ] ++ ++ result_without_date_time = {k: result[path][k] for k in fields} ++ ++ expected_result_without_date_time = { ++ k: expected_result[path][k] for k in fields ++ } + assert result_without_date_time == expected_result_without_date_time + + |