Mercurial > p > roundup > code
diff roundup/rest.py @ 5579:2814d95cfec2 REST-rebased
Improve props_from_args
.. to skip initializing invalid property of the class.
committer: Ralf Schlatterbeck <rsc@runtux.com>
| author | Chau Nguyen <dangchau1991@yahoo.com> |
|---|---|
| date | Wed, 30 Jan 2019 10:26:34 +0100 |
| parents | c2214d0c9df8 |
| children | d5a54b1851aa |
line wrap: on
line diff
--- a/roundup/rest.py Wed Jan 30 10:26:34 2019 +0100 +++ b/roundup/rest.py Wed Jan 30 10:26:34 2019 +0100 @@ -18,13 +18,15 @@ def props_from_args(db, cl, args, itemid=None): + class_props = cl.properties.keys() props = {} + # props = dict.fromkeys(class_props, None) + for arg in args: - try: - key = arg.name - value = arg.value - except ValueError: - raise UsageError('argument "%s" not propname=value' % arg) + key = arg.name + value = arg.value + if key not in class_props: + continue if isinstance(key, unicode): try: key = key.encode('ascii') @@ -35,8 +37,8 @@ if value: try: props[key] = hyperdb.rawToHyperdb(db, cl, itemid, key, value) - except hyperdb.HyperdbValueError: - pass # pass if a parameter is not a property of the class + except hyperdb.HyperdbValueError, msg: + raise UsageError(msg) else: props[key] = None
