From e16dffa42d9358eae914eecc8629d0d77bd8121e Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Tue, 18 Jan 2011 15:41:46 +0100 Subject: [PATCH] raise exception when trying to set unsupported column --- PLC/Methods/UpdateTagType.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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']] -- 2.47.0