- remove extraneous imports and checks
authorMark Huang <mlhuang@cs.princeton.edu>
Wed, 20 Sep 2006 17:03:32 +0000 (17:03 +0000)
committerMark Huang <mlhuang@cs.princeton.edu>
Wed, 20 Sep 2006 17:03:32 +0000 (17:03 +0000)
PLC/Methods/AdmUpdateNodeGroup.py

index 1ea77b3..a659507 100644 (file)
@@ -1,10 +1,7 @@
-
 from PLC.Faults import *
 from PLC.Method import Method
 from PLC.Parameter import Parameter, Mixed
-from PLC.Nodes import Node, Nodes
 from PLC.NodeGroups import NodeGroup, NodeGroups
-#from PLC.Sites import Site, Sites
 from PLC.Auth import PasswordAuth
 
 class AdmUpdateNodeGroup(Method):
@@ -16,10 +13,6 @@ class AdmUpdateNodeGroup(Method):
 
     roles = ['admin']
 
-    can_update = lambda (field, value): field in \
-                 ['name', 'description']
-    update_fields = dict(filter(can_update, NodeGroup.fields.items()))
-
     accepts = [
         PasswordAuth(),
        NodeGroup.fields['nodegroup_id'],
@@ -29,29 +22,19 @@ class AdmUpdateNodeGroup(Method):
 
     returns = Parameter(int, '1 if successful')
 
-    def call(self, auth, nodegroup_id, name, description):
-        #if filter(lambda field: field not in self.update_fields, optional_vals):
-        #    raise PLCInvalidArgument, "Invalid fields specified"
-
-        # Authenticated function
-        assert self.caller is not None
-
-        # make sure we are 'admin'
-        if 'admin' not in self.caller['roles']:
-               raise PLCPermissionDenied, "Not allowed to update node groups"
-
+    def call(self, auth, nodegroup_id_or_name, name, description):
        # Get nodegroup information
-       nodegroups = NodeGroups(self.api, [nodegroup_id])
+       nodegroups = NodeGroups(self.api, [nodegroup_id_or_name])
        if not nodegroups:
-               raise PLCInvalidArgument, "No such nodegroup"
+            raise PLCInvalidArgument, "No such nodegroup"
 
        nodegroup = nodegroups.values()[0]
        
        # Modify node group
         update_fields = {
-               'name': name,
-               'description': description
-               }
+            'name': name,
+            'description': description
+            }
 
        nodegroup.update(update_fields)
         nodegroup.flush()