def get_result(self): """ :return: List of dictionaries: [{'1.1.1.1': {u'Administratively Down Ports': 27, u'Up Ports': 136, u'Operationally Down Ports': 8}}, {'2.2.2.2': {u'Administratively Down Ports': 27, u'Up Ports': 136, u'Operationally Down Ports': 8}}] """ result = [] for ip in self.ip_addresses: params = self.params params['ipAddress'] = ip resource = CiscoPrimeResource(self.get_url(), self.username, self.password, **params) data = resource.get_result() device_result = {ip: {}} try: for child in data.json()['mgmtResponse']['statisticsDTO']['childStatistics']['childStatistic']: device_result[ip][child['statisticEntries']['statisticEntry'][1]['entryValue']] = child['statisticEntries']['statisticEntry'][0]['entryValue'] except KeyError: continue result.append(device_result) time.sleep(0.5) return result
def get_result(self): """ :return: List of Port objects """ report = CiscoPrimeResource(self.get_url(), self.username, self.password, **self.params) data = report.get_result() result = [] try: for dataRow in data.json()['mgmtResponse']['reportDataDTO']['dataRows']['dataRow']: port = Port() for entry in dataRow['entries']['entry']: setattr(port, entry['attributeName'], entry['dataValue']) result.append(port) return result except: import pdb pdb.set_trace()