2 from PLC.Faults import *
3 from PLC.Method import Method
4 from PLC.Parameter import Parameter, Mixed
5 from PLC.PCUTypes import PCUType, PCUTypes
6 from PLC.Auth import Auth
8 can_update = lambda (field, value): field in \
11 class UpdatePCUType(Method):
13 Updates a PCU type. Only the fields specified in
14 pcu_typee_fields are updated, all other fields are left untouched.
16 Returns 1 if successful, faults otherwise.
21 pcu_type_fields = dict(filter(can_update, PCUType.fields.items()))
25 PCUType.fields['pcu_type_id'],
29 returns = Parameter(int, '1 if successful')
31 def call(self, auth, pcu_type_id, pcu_type_fields):
32 pcu_type_fields = dict(filter(can_update, pcu_type_fields.items()))
34 pcu_types = PCUTypes(self.api, [pcu_type_id])
36 raise PLCInvalidArgument, "No such pcu type"
38 pcu_type = pcu_types[0]
39 pcu_type.update(pcu_type_fields)
41 self.event_objects = {'PCUType': [pcu_type['pcu_type_id']]}