!15 bugfix:Fix assigning string value to Set
From: @dongjiao-joan Reviewed-by: @yangzhao_kl Signed-off-by: @yangzhao_kl
This commit is contained in:
commit
75ead63333
60
backport-fix-assigning-string-value-to-Set.patch
Normal file
60
backport-fix-assigning-string-value-to-Set.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
From 5cf34f6c42b6e39aa1e53394443efca3d7329e3b Mon Sep 17 00:00:00 2001
|
||||||
|
From: azjps <azhu@tower-research.com>
|
||||||
|
Date: Fri, 19 Apr 2024 23:07:41 +1200
|
||||||
|
Subject: [PATCH] Fix assigning string value to Set (#903)
|
||||||
|
url:https://github.com/ipython/traitlets/pull/903/commits/4143e7eb0c3e474fe3cb031666b4620cf1e0d832
|
||||||
|
---
|
||||||
|
tests/test_traitlets.py | 18 ++++++++++++++++++
|
||||||
|
traitlets/traitlets.py | 7 +------
|
||||||
|
2 files changed, 19 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tests/test_traitlets.py b/tests/test_traitlets.py
|
||||||
|
index dfcf3f0..f9f623b 100644
|
||||||
|
--- a/tests/test_traitlets.py
|
||||||
|
+++ b/tests/test_traitlets.py
|
||||||
|
@@ -1658,6 +1658,24 @@ class TestList(TraitTestBase):
|
||||||
|
return value
|
||||||
|
|
||||||
|
|
||||||
|
+class SetTrait(HasTraits):
|
||||||
|
+ value = Set(Unicode())
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+class TestSet(TraitTestBase):
|
||||||
|
+ obj = SetTrait()
|
||||||
|
+
|
||||||
|
+ _default_value: t.Set[str] = set()
|
||||||
|
+ _good_values = [{"a", "b"}, "ab"]
|
||||||
|
+ _bad_values = [1]
|
||||||
|
+
|
||||||
|
+ def coerce(self, value):
|
||||||
|
+ if isinstance(value, str):
|
||||||
|
+ # compatibility handling: convert string to set containing string
|
||||||
|
+ value = {value}
|
||||||
|
+ return value
|
||||||
|
+
|
||||||
|
+
|
||||||
|
class Foo:
|
||||||
|
pass
|
||||||
|
|
||||||
|
diff --git a/traitlets/traitlets.py b/traitlets/traitlets.py
|
||||||
|
index 1d1675a..ecd0d7c 100644
|
||||||
|
--- a/traitlets/traitlets.py
|
||||||
|
+++ b/traitlets/traitlets.py
|
||||||
|
@@ -3698,12 +3698,7 @@ class Set(Container[t.Set[t.Any]]):
|
||||||
|
|
||||||
|
def set(self, obj: t.Any, value: t.Any) -> None:
|
||||||
|
if isinstance(value, str):
|
||||||
|
- return super().set(
|
||||||
|
- obj,
|
||||||
|
- set(
|
||||||
|
- value,
|
||||||
|
- ),
|
||||||
|
- )
|
||||||
|
+ return super().set(obj, {value})
|
||||||
|
else:
|
||||||
|
return super().set(obj, value)
|
||||||
|
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
@ -1,11 +1,12 @@
|
|||||||
Name: python-traitlets
|
Name: python-traitlets
|
||||||
Version: 5.14.1
|
Version: 5.14.1
|
||||||
Release: 1
|
Release: 2
|
||||||
Summary: A lightweight Traits like module.
|
Summary: A lightweight Traits like module.
|
||||||
|
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
URL: https://github.com/ipython/traitlets
|
URL: https://github.com/ipython/traitlets
|
||||||
Source0: https://files.pythonhosted.org/packages/source/t/traitlets/traitlets-%{version}.tar.gz
|
Source0: https://files.pythonhosted.org/packages/source/t/traitlets/traitlets-%{version}.tar.gz
|
||||||
|
Patch0: backport-fix-assigning-string-value-to-Set.patch
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -46,6 +47,9 @@ py.test-3 -v traitlets/tests/
|
|||||||
%{python3_sitelib}/traitlets*.dist-info/
|
%{python3_sitelib}/traitlets*.dist-info/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat May 11 2024 dongjiao <dongjiao@kylinos.cn> - 5.14.1-2
|
||||||
|
- bugfix:Fix assigning string value to Set
|
||||||
|
|
||||||
* Fri Mar 1 2024 Dongxing Wang <dongxing.wang_a@thundersoft.com> - 5.14.1-1
|
* Fri Mar 1 2024 Dongxing Wang <dongxing.wang_a@thundersoft.com> - 5.14.1-1
|
||||||
- Upgrade package with version 5.14.1
|
- Upgrade package with version 5.14.1
|
||||||
Add option to load traitlets values from environement.
|
Add option to load traitlets values from environement.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user