You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ep...@apache.org on 2024/06/04 13:32:01 UTC
(airflow) 05/50: fix(io.path): add missing conn_id to string representation of ObjectStoragePath (#39313)
This is an automated email from the ASF dual-hosted git repository.
ephraimanierobi pushed a commit to branch v2-9-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 0c2d53e14bc61e7c7caae3341da60f10830ba187
Author: Wei Lee <we...@gmail.com>
AuthorDate: Tue Apr 30 08:41:10 2024 +0800
fix(io.path): add missing conn_id to string representation of ObjectStoragePath (#39313)
(cherry picked from commit ddd3b5b738fbfc13f6deeb7f0bc1a1e99c3013ba)
---
airflow/io/path.py | 6 ++++++
tests/io/test_path.py | 5 +++++
2 files changed, 11 insertions(+)
diff --git a/airflow/io/path.py b/airflow/io/path.py
index 709f50a316..87ab420b9c 100644
--- a/airflow/io/path.py
+++ b/airflow/io/path.py
@@ -361,3 +361,9 @@ class ObjectStoragePath(CloudPath):
conn_id = data.pop("conn_id", None)
return ObjectStoragePath(path, conn_id=conn_id, **_kwargs)
+
+ def __str__(self):
+ conn_id = self.storage_options.get("conn_id")
+ if self._protocol and conn_id:
+ return f"{self._protocol}://{conn_id}@{self.path}"
+ return super().__str__()
diff --git a/tests/io/test_path.py b/tests/io/test_path.py
index c08284163b..1ccdfbfb79 100644
--- a/tests/io/test_path.py
+++ b/tests/io/test_path.py
@@ -403,3 +403,8 @@ class TestFs:
assert o.fs is not None
assert o._fs_cached
+
+ @pytest.mark.parametrize("input_str", ("file:///tmp/foo", "s3://conn_id@bucket/test.txt"))
+ def test_str(self, input_str):
+ o = ObjectStoragePath(input_str)
+ assert str(o) == input_str