2 from PLC.Faults import *
3 from PLC.Method import Method
4 from PLC.Parameter import Parameter, Mixed
5 from PLC.Messages import Message, Messages
6 from PLC.Auth import Auth
8 can_update = lambda (field, value): field in \
9 ['template', 'enabled']
11 class UpdateMessage(Method):
13 Updates the parameters of an existing message template with the
14 values in message_fields.
16 Returns 1 if successful, faults otherwise.
21 message_fields = dict(filter(can_update, Message.fields.items()))
25 Message.fields['message_id'],
29 returns = Parameter(int, '1 if successful')
31 def call(self, auth, message_id, message_fields):
32 message_fields = dict(filter(can_update, message_fields.items()))
34 # Get message information
35 messages = Messages(self.api, [message_id])
37 raise PLCInvalidArgument, "No such message"
40 message.update(message_fields)
42 self.event_objects = {'Message': [message['message_id']]}