Skip to content

Commit 5fcd7cc

Browse files
committed
Fix literal casting in update
1 parent 6782f34 commit 5fcd7cc

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

docs/source/changelog.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ Releases
4040
|UNRELEASED| v4.0.4
4141
=====================
4242
- Fixed automatic responder's not being removable over a remote connection.
43+
- Fixed casting error when trying to update objects with ``Literal`` parameters.
4344

4445

4546
v4.0.3

src/daf_gui/tod_extensions/extra_widgets.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,16 @@ async def update():
106106
values = {}
107107
for k, v in frame.get_gui_data().items():
108108
if isinstance(v, str):
109-
v = frame.cast_type(v, frame._map[k][1])
109+
types_ = frame._map[k][1]
110+
try:
111+
frame.cast_type(v, types_)
112+
except TypeError as exc:
113+
# Perhaps it's a valid literal:
114+
literal_types = frame.filter_literals(types_)
115+
if not literal_types:
116+
raise
117+
118+
frame.check_literals(v, literal_types)
110119

111120
values[k] = convert_to_objects(v)
112121

0 commit comments

Comments
 (0)