1 from PLC.Faults import *
2 from PLC.Method import Method
3 from PLC.Parameter import Parameter, Mixed
4 from PLC.PCUTypes import PCUType, PCUTypes
5 from PLC.Auth import Auth
7 can_update = lambda (field, value): field in \
10 class UpdatePCUType(Method):
12 Updates a PCU type. Only the fields specified in
13 pcu_typee_fields are updated, all other fields are left untouched.
15 Returns 1 if successful, faults otherwise.
20 pcu_type_fields = dict(filter(can_update, PCUType.fields.items()))
24 PCUType.fields['pcu_type_id'],
28 returns = Parameter(int, '1 if successful')
30 def call(self, auth, pcu_type_id, pcu_type_fields):
31 pcu_type_fields = dict(filter(can_update, pcu_type_fields.items()))
33 pcu_types = PCUTypes(self.api, [pcu_type_id])
35 raise PLCInvalidArgument, "No such pcu type"
37 pcu_type = pcu_types[0]
38 pcu_type.update(pcu_type_fields)
40 self.event_objects = {'PCUType': [pcu_type['pcu_type_id']]}