no need to filter out deleted fields anymore
authorMark Huang <mlhuang@cs.princeton.edu>
Mon, 2 Oct 2006 16:05:44 +0000 (16:05 +0000)
committerMark Huang <mlhuang@cs.princeton.edu>
Mon, 2 Oct 2006 16:05:44 +0000 (16:05 +0000)
PLC/Methods/AdmGetNodes.py
PLC/Methods/AdmGetPersons.py
PLC/Methods/AdmGetSites.py
PLC/Methods/GetSlices.py

index 516a765..824ecce 100644 (file)
@@ -26,26 +26,23 @@ class AdmGetNodes(Method):
         Parameter([str], 'List of fields to return')
         ]
 
-    # Filter out hidden fields
-    can_return = lambda (field, value): field not in ['deleted']
-    return_fields = dict(filter(can_return, Node.fields.items()))
-    returns = [return_fields]
+    returns = [Node.fields]
 
     def __init__(self, *args, **kwds):
         Method.__init__(self, *args, **kwds)
         # Update documentation with list of default fields returned
-        self.__doc__ += os.linesep.join(self.return_fields.keys())
+        self.__doc__ += os.linesep.join(Node.fields.keys())
 
     def call(self, auth, node_id_or_hostname_list = None, return_fields = None):
         # Authenticated function
         assert self.caller is not None
 
-        valid_fields = dict(self.return_fields)
+        valid_fields = Node.fields.keys()
 
         # Remove admin only fields
         if 'admin' not in self.caller['roles']:
             for key in ['boot_nonce', 'key', 'session', 'root_person_ids']:
-                del valid_fields[key]
+                valid_fields.remove(key)
 
         # Make sure that only valid fields are specified
         if return_fields is None:
index 42a6965..03c1f15 100644 (file)
@@ -30,8 +30,8 @@ class AdmGetPersons(Method):
         Parameter([str], 'List of fields to return')
         ]
 
-    # Filter out password and deleted fields
-    can_return = lambda (field, value): field not in ['password', 'deleted']
+    # Filter out password field
+    can_return = lambda (field, value): field not in ['password']
     return_fields = dict(filter(can_return, Person.fields.items()))
     returns = [return_fields]
 
index 5f4cf33..c544fb1 100644 (file)
@@ -25,21 +25,18 @@ class AdmGetSites(Method):
         Parameter([str], 'List of fields to return')
         ]
 
-    # Filter out deleted fields
-    can_return = lambda (field, value): field not in ['deleted']
-    return_fields = dict(filter(can_return, Site.fields.items()))
-    returns = [return_fields]
+    returns = [Site.fields]
 
     def __init__(self, *args, **kwds):
         Method.__init__(self, *args, **kwds)
         # Update documentation with list of default fields returned
-        self.__doc__ += os.linesep.join(self.return_fields.keys())
+        self.__doc__ += os.linesep.join(Site.fields.keys())
 
     def call(self, auth, site_id_or_login_base_list = None, return_fields = None):
         # Make sure that only valid fields are specified
         if return_fields is None:
-            return_fields = self.return_fields
-        elif filter(lambda field: field not in self.return_fields, return_fields):
+            return_fields = Site.fields
+        elif filter(lambda field: field not in Site.fields, return_fields):
             raise PLCInvalidArgument, "Invalid return field specified"
 
         # Get site information
index 624a6bb..e79fded 100644 (file)
@@ -25,10 +25,7 @@ class GetSlices(Method):
         Parameter([str], 'List of fields to return')
         ]
 
-    # Filter out is_deleted field
-    can_return = lambda (field, value): field not in ['is_deleted']
-    return_fields = dict(filter(can_return, Slice.fields.items()))
-    returns = [return_fields]
+    returns = [Slice.fields]
 
     def call(self, auth, slice_id_or_name_list = None):
         # Get slice information