X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2FGetPCUTypes.py;h=58d8fcd28949ef89d960ae80e065f3126139b7c0;hb=f7ce7ce813d4c44502629820a3583f32a99a98f7;hp=7d50821ce40c4739efd9e785c09268315bf6b60c;hpb=9a608e111c7f8182f51753ea3f563ebc19eb4c71;p=plcapi.git diff --git a/PLC/Methods/GetPCUTypes.py b/PLC/Methods/GetPCUTypes.py index 7d50821..58d8fcd 100644 --- a/PLC/Methods/GetPCUTypes.py +++ b/PLC/Methods/GetPCUTypes.py @@ -16,37 +16,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