From: Thierry Parmentelat Date: Tue, 18 Jan 2011 14:41:46 +0000 (+0100) Subject: raise exception when trying to set unsupported column X-Git-Tag: plcapi-5.0-25~1 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=e16dffa42d9358eae914eecc8629d0d77bd8121e;p=plcapi.git raise exception when trying to set unsupported column --- diff --git a/PLC/Methods/UpdateTagType.py b/PLC/Methods/UpdateTagType.py index 56bd61f4..8fc868c2 100644 --- a/PLC/Methods/UpdateTagType.py +++ b/PLC/Methods/UpdateTagType.py @@ -32,14 +32,21 @@ class UpdateTagType(Method): returns = Parameter(int, '1 if successful') def call(self, auth, tag_type_id_or_name, tag_type_fields): - tag_type_fields = dict(filter(can_update, tag_type_fields.items())) + + accepted_type_fields = dict(filter(can_update, tag_type_fields.items())) + rejected_keys = [ k for k in tag_type_fields if k not in accepted_type_fields ] + if rejected_keys: + error="Cannot update TagType column(s) %r"%rejected_keys + if 'roles' in rejected_keys or 'role_ids' in rejected_keys: + error += " see AddRoleToTagType DeleteRoleFromTagType" + raise PLCInvalidArgument, error tag_types = TagTypes(self.api, [tag_type_id_or_name]) if not tag_types: raise PLCInvalidArgument, "No such tag type" tag_type = tag_types[0] - tag_type.update(tag_type_fields) + tag_type.update(accepted_type_fields) tag_type.sync() self.object_ids = [tag_type['tag_type_id']]