From 1d38462c0f3983b50994f00e6602c4c80b4604a8 Mon Sep 17 00:00:00 2001 From: Mark Huang Date: Mon, 23 Oct 2006 20:36:01 +0000 Subject: [PATCH] - fix calling convention --- PLC/Methods/UpdateNodeGroup.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/PLC/Methods/UpdateNodeGroup.py b/PLC/Methods/UpdateNodeGroup.py index c9534491..a47591b4 100644 --- a/PLC/Methods/UpdateNodeGroup.py +++ b/PLC/Methods/UpdateNodeGroup.py @@ -4,6 +4,9 @@ from PLC.Parameter import Parameter, Mixed from PLC.NodeGroups import NodeGroup, NodeGroups from PLC.Auth import PasswordAuth +can_update = lambda (field, value): field in \ + ['name', 'description'] + class UpdateNodeGroup(Method): """ Updates a custom node group. @@ -13,31 +16,27 @@ class UpdateNodeGroup(Method): roles = ['admin'] + update_fields = dict(filter(can_update, NodeGroup.fields.items())) + accepts = [ PasswordAuth(), Mixed(NodeGroup.fields['nodegroup_id'], NodeGroup.fields['name']), - NodeGroup.fields['name'], - NodeGroup.fields['description'] + update_fields ] returns = Parameter(int, '1 if successful') - def call(self, auth, nodegroup_id_or_name, name, description): + def call(self, auth, nodegroup_id_or_name, nodegroup_fields = {}): + nodegroup_fields = dict(filter(can_update, nodegroup_fields.items())) + # Get nodegroup information nodegroups = NodeGroups(self.api, [nodegroup_id_or_name]) if not nodegroups: raise PLCInvalidArgument, "No such nodegroup" - nodegroup = nodegroups.values()[0] - # Modify node group - update_fields = { - 'name': name, - 'description': description - } - - nodegroup.update(update_fields) + nodegroup.update(nodegroup_fields) nodegroup.sync() return 1 -- 2.47.0