Skip to content

Commit 29d9374

Browse files
committed
Handle bad property name in @fields/@attrs. Raise exception and
provide useful message.
1 parent 372fa7f commit 29d9374

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

roundup/rest.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,13 @@ def get_collection(self, class_name, input):
585585
if len(f) == 1:
586586
f=value.split(",")
587587
for i in f:
588-
display_props[i] = class_obj.properties[i]
588+
try:
589+
display_props[i] = class_obj.properties[i]
590+
except KeyError as err:
591+
raise UsageError("Failed to find property '%s' "
592+
"for class %s."%(i, class_name))
593+
594+
589595
else: # serve the filter purpose
590596
prop = class_obj.getprops()[key]
591597
# We drop properties without search permission silently
@@ -738,7 +744,10 @@ def get_element(self, class_name, item_id, input):
738744
if len(f) == 1:
739745
f=value.split(":")
740746
for i in f:
741-
props[i] = class_obj.properties[i]
747+
try:
748+
props[i] = class_obj.properties[i]
749+
except KeyError as err:
750+
raise UsageError("Failed to find property '%s' for class %s."%(i, class_name))
742751
elif key == "@protected":
743752
# allow client to request read only
744753
# properties like creator, activity etc.

0 commit comments

Comments
 (0)