Mercurial > p > roundup > code
diff roundup/rest.py @ 5681:6457fd696a43
Handle bad property name in @fields/@attrs. Raise exception and
provide useful message.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sat, 30 Mar 2019 00:19:37 -0400 |
| parents | f77209ddd579 |
| children | e8ac82b8d074 |
line wrap: on
line diff
--- a/roundup/rest.py Fri Mar 29 23:57:13 2019 -0400 +++ b/roundup/rest.py Sat Mar 30 00:19:37 2019 -0400 @@ -585,7 +585,13 @@ if len(f) == 1: f=value.split(",") for i in f: - display_props[i] = class_obj.properties[i] + try: + display_props[i] = class_obj.properties[i] + except KeyError as err: + raise UsageError("Failed to find property '%s' " + "for class %s."%(i, class_name)) + + else: # serve the filter purpose prop = class_obj.getprops()[key] # We drop properties without search permission silently @@ -738,7 +744,10 @@ if len(f) == 1: f=value.split(":") for i in f: - props[i] = class_obj.properties[i] + try: + props[i] = class_obj.properties[i] + except KeyError as err: + raise UsageError("Failed to find property '%s' for class %s."%(i, class_name)) elif key == "@protected": # allow client to request read only # properties like creator, activity etc.
