X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=PLC%2FMethods%2FGetPCUTypes.py;h=286c53b46de7e8399e5d4e9c5d7799b6bd7f5c90;hb=bd0cbf4f7f2e4cf7ceda500bfa6f98c0a700018b;hp=2a81508c82057374f8a13a7854c92b4658c53e22;hpb=02d525f6d1b8163f51fd3796e13a94f3f71defba;p=plcapi.git diff --git a/PLC/Methods/GetPCUTypes.py b/PLC/Methods/GetPCUTypes.py index 2a81508..286c53b 100644 --- a/PLC/Methods/GetPCUTypes.py +++ b/PLC/Methods/GetPCUTypes.py @@ -14,37 +14,37 @@ class GetPCUTypes(Method): accepts = [ Auth(), - Mixed([Mixed(PCUType.fields['pcu_type_id'], + Mixed([Mixed(PCUType.fields['pcu_type_id'], PCUType.fields['model'])], - Parameter(str, 'model'), - Parameter(int, 'node_id'), + Parameter(str, 'model'), + Parameter(int, 'node_id'), Filter(PCUType.fields)), Parameter([str], "List of fields to return", nullok = True) ] returns = [PCUType.fields] - + def call(self, auth, pcu_type_filter = None, return_fields = None): - #Must query at least pcu_type_id - if return_fields is not None: - added_fields = [] - if 'pcu_type_id' not in return_fields: - return_fields.append('pcu_type_id') - added_fields.append('pcu_type_id') - if 'pcu_protocol_types' in return_fields and \ - 'pcu_protocol_type_ids' not in return_fields: - return_fields.append('pcu_protocol_type_ids') - added_fields.append('pcu_protocol_type_ids') - else: - added_fields = [] - - pcu_types = PCUTypes(self.api, pcu_type_filter, return_fields) - - # remove added fields and protocol_types - for added_field in added_fields: - for pcu_type in pcu_types: - del pcu_type[added_field] - - return pcu_types + #Must query at least pcu_type_id + if return_fields is not None: + added_fields = [] + if 'pcu_type_id' not in return_fields: + return_fields.append('pcu_type_id') + added_fields.append('pcu_type_id') + if 'pcu_protocol_types' in return_fields and \ + 'pcu_protocol_type_ids' not in return_fields: + return_fields.append('pcu_protocol_type_ids') + added_fields.append('pcu_protocol_type_ids') + else: + added_fields = [] + + pcu_types = PCUTypes(self.api, pcu_type_filter, return_fields) + + # remove added fields and protocol_types + for added_field in added_fields: + for pcu_type in pcu_types: + del pcu_type[added_field] + + return pcu_types