X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=PLC%2FMethods%2FBlacklistKey.py;h=2afd664c834ceab291b3fff9107b324b57f401df;hb=19d4a01ccf66af9e00914351b3eacd5fc880f988;hp=27339ecd08d51bebc4cab698f8ab28beccb8694d;hpb=884648f408afa62446914ad8d93c8f42ed05d6c2;p=plcapi.git diff --git a/PLC/Methods/BlacklistKey.py b/PLC/Methods/BlacklistKey.py index 27339ec..2afd664 100644 --- a/PLC/Methods/BlacklistKey.py +++ b/PLC/Methods/BlacklistKey.py @@ -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,24 +18,25 @@ class BlacklistKey(Method): roles = ['admin'] accepts = [ - PasswordAuth(), + Auth(), Key.fields['key_id'], ] returns = Parameter(int, '1 if successful') - - event_type = 'Update' - object_type = 'Key' - object_ids = [] 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() - self.object_ids = [key['key_id']] + + # Logging variables + self.event_objects = {'Key': [key['key_id']]} + self.message = 'Key %d blacklisted' % key['key_id'] return 1