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