- def call(self, auth, key_id_list = None):
-
- #if we are not admin, make sure to only return our own keys
- if 'admin' not in self.caller['roles']:
- if key_id_list is None:
- key_id_list = self.caller['key_ids']
- else:
- valid_keys = lambda x: x in self.caller['key_ids']
- key_id_list = filter(valid_keys, key_id_list)
-
- keys = Keys(self.api, key_id_list).values()
-
+
+ def call(self, auth, key_filter = None, return_fields = None):
+ keys = Keys(self.api, key_filter, return_fields)
+
+ # If we are not admin, make sure to only return our own keys
+ if isinstance(self.caller, Person) and \
+ 'admin' not in self.caller['roles']:
+ keys = filter(lambda key: key['key_id'] in self.caller['key_ids'], keys)
+