- pull bulk of functionality into get_slivers() utility function so that
[plcapi.git] / PLC / Methods / BlacklistKey.py
index 27339ec..1c03d6e 100644 (file)
@@ -2,7 +2,7 @@ from PLC.Faults import *
 from PLC.Method import Method
 from PLC.Parameter import Parameter, Mixed
 from PLC.Keys import Key, Keys
-from PLC.Auth import PasswordAuth
+from PLC.Auth import Auth
 
 class BlacklistKey(Method):
     """
@@ -18,7 +18,7 @@ class BlacklistKey(Method):
     roles = ['admin']
 
     accepts = [
-        PasswordAuth(),
+        Auth(),
         Key.fields['key_id'],
         ]
 
@@ -30,12 +30,17 @@ class BlacklistKey(Method):
 
     def call(self, auth, key_id):
         # Get associated key details
-        keys = Keys(self.api, [key_id]).values()
+        keys = Keys(self.api, [key_id])
         if not keys:
             raise PLCInvalidArgument, "No such key"
         key = keys[0]
 
+        # N.B.: Can blacklist any key, even foreign ones
+
         key.blacklist()
+       
+       # Logging variables
        self.object_ids = [key['key_id']]
+       self.message = 'Key %d blacklisted' % key['key_id']
 
         return 1