You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ms...@apache.org on 2022/07/27 07:13:35 UTC

[airflow] branch main updated: Add __repr__ to ParamsDict class (#25305)

This is an automated email from the ASF dual-hosted git repository.

msumit pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new df388a3d53 Add __repr__ to ParamsDict class (#25305)
df388a3d53 is described below

commit df388a3d5364b748993e61b522d0b68ff8b8124a
Author: Sumit Maheshwari <ms...@users.noreply.github.com>
AuthorDate: Wed Jul 27 12:43:27 2022 +0530

    Add __repr__ to ParamsDict class (#25305)
    
    Fixes #25295
---
 airflow/models/param.py    | 3 +++
 tests/models/test_param.py | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/airflow/models/param.py b/airflow/models/param.py
index fcbe7a0f93..1179dd9fd6 100644
--- a/airflow/models/param.py
+++ b/airflow/models/param.py
@@ -147,6 +147,9 @@ class ParamsDict(MutableMapping[str, Any]):
     def __iter__(self):
         return iter(self.__dict)
 
+    def __repr__(self):
+        return repr(self.dump())
+
     def __setitem__(self, key: str, value: Any) -> None:
         """
         Override for dictionary's ``setitem`` method. This method make sure that all values are of
diff --git a/tests/models/test_param.py b/tests/models/test_param.py
index 3529f0360c..bbd430d773 100644
--- a/tests/models/test_param.py
+++ b/tests/models/test_param.py
@@ -193,6 +193,10 @@ class TestParamsDict:
         with pytest.raises(ParamValidationError, match=r'Invalid input for param key: 1 is not'):
             pd.update({'key': 1})
 
+    def test_repr(self):
+        pd = ParamsDict({'key': Param('value', type='string')})
+        assert repr(pd) == "{'key': 'value'}"
+
 
 class TestDagParamRuntime:
     VALUE = 42