def fastAlgo(self): combineListOfDict('name', self.data, self.data, errorKey='error_key', size=add, list=addToList)
def testcombineListOfDict(self): # normal combine test result = [{'name': 'test_a', 'error_key': 'error_123', 'list': [5, 6, 7], 'size': 3}, {'list': [1, 2], 'name': 'test_d', 'size': 2}, {'list': [1, 2], 'name': 'test_c', 'size': 2}, {'error_key': ['error_123', 'error_456'], 'list': [1], 'name': 'test_b', 'size': 1}] interList = combineListOfDict('name', self.baseList, self.applyList1) self.assertEqual(combineListOfDict('name', interList, self.applyList2), result) # with combine function result = [{'name': 'test_a', 'error_key': 'error_123', 'list': [1, 3, 4, 5, 6, 7], 'size': 6}, {'list': [1, 2], 'name': 'test_d', 'size': 2}, {'list': [1, 2], 'name': 'test_c', 'size': 2}, {'size': 1, 'list': [1], 'name': 'test_b', 'error_key': ['error_123', 'error_456']}] interList = combineListOfDict('name', self.baseList, self.applyList1, size = add, list = addToList) self.assertEqual(combineListOfDict('name', interList, self.applyList2, size = add, list = addToList), result) # test error case result = [{'list': [1, 2], 'name': 'test_c', 'size': 2}, {'error_key': ['error_123', 'error_456'], 'size': 1, 'list': [1], 'name': 'test_b', 'error': '123 error, 456 error'}, {'error': '123 error', 'size': 1, 'list': 1, 'name': 'test_a', 'error_key': 'error_123'}] self.assertEqual(combineListOfDict('name', self.baseList, self.errorList, errorKey = 'error_key'), result) # all combined self.applyList1.extend(self.errorList) result = [{'name': 'test_a', 'error': '123 error', 'error_key': 'error_123', 'list': [1, 3, 4, 5, 6, 7], 'size': 6}, {'list': [1, 2], 'name': 'test_d', 'size': 2}, {'list': [1, 2], 'name': 'test_c', 'size': 2}, {'error': '123 error, 456 error', 'size': 1, 'list': [1], 'name': 'test_b', 'error_key': ['error_123', 'error_456']}] interList = combineListOfDict('name', self.baseList, self.applyList1, errorKey = 'error_key', size = add, list = addToList) self.assertEqual(combineListOfDict('name', interList, self.applyList2, errorKey = 'error_key', size = add, list = addToList),result)
### TODO: remove this when GlobalMonitor spins out as a separate application if serviceURL.lower() == "local": baseResults = getOverview() urls = getGlobalQueues() else: baseResults = service.getRequestNames() urls = service.getWorkQueue() except Exception, ex: logging.error(str(ex)) return DFormatter.errorFormatter(serviceURL, "RequestManger Down") globalResults = [] for url in urls: globalResults.extend(getRequestOverview(url, "GlobalQueue")) return combineListOfDict('request_name', baseResults, globalResults, 'global_queue') def getRequestInfoFromGlobalQueue(serviceURL): """ get the request info from global queue """ url, dbName = splitCouchServiceURL(serviceURL) service = WorkQueue(url, dbName) try: jobInfo = service.getTopLevelJobsByRequest() qInfo = service.getChildQueuesByRequest() siteWhitelists = service.getSiteWhitelistByRequest() childQueueURLs = set() for item in qInfo: childQueueURLs.add(item['local_queue']) except Exception, ex: logging.error("%s: %s" % (serviceURL, str(ex)))
def testcombineListOfDict(self): # normal combine test result = [{ 'name': 'test_a', 'error_key': 'error_123', 'list': [5, 6, 7], 'size': 3 }, { 'list': [1, 2], 'name': 'test_d', 'size': 2 }, { 'list': [1, 2], 'name': 'test_c', 'size': 2 }, { 'error_key': ['error_123', 'error_456'], 'list': [1], 'name': 'test_b', 'size': 1 }] interList = combineListOfDict('name', self.baseList, self.applyList1) self.assertEqual(combineListOfDict('name', interList, self.applyList2), result) # with combine function result = [{ 'name': 'test_a', 'error_key': 'error_123', 'list': [1, 3, 4, 5, 6, 7], 'size': 6 }, { 'list': [1, 2], 'name': 'test_d', 'size': 2 }, { 'list': [1, 2], 'name': 'test_c', 'size': 2 }, { 'size': 1, 'list': [1], 'name': 'test_b', 'error_key': ['error_123', 'error_456'] }] interList = combineListOfDict('name', self.baseList, self.applyList1, size=add, list=addToList) self.assertEqual( combineListOfDict('name', interList, self.applyList2, size=add, list=addToList), result) # test error case result = [{ 'list': [1, 2], 'name': 'test_c', 'size': 2 }, { 'error_key': ['error_123', 'error_456'], 'size': 1, 'list': [1], 'name': 'test_b', 'error': '123 error, 456 error' }, { 'error': '123 error', 'size': 1, 'list': 1, 'name': 'test_a', 'error_key': 'error_123' }] self.assertEqual( combineListOfDict('name', self.baseList, self.errorList, errorKey='error_key'), result) # all combined self.applyList1.extend(self.errorList) result = [{ 'name': 'test_a', 'error': '123 error', 'error_key': 'error_123', 'list': [1, 3, 4, 5, 6, 7], 'size': 6 }, { 'list': [1, 2], 'name': 'test_d', 'size': 2 }, { 'list': [1, 2], 'name': 'test_c', 'size': 2 }, { 'error': '123 error, 456 error', 'size': 1, 'list': [1], 'name': 'test_b', 'error_key': ['error_123', 'error_456'] }] interList = combineListOfDict('name', self.baseList, self.applyList1, errorKey='error_key', size=add, list=addToList) self.assertEqual( combineListOfDict('name', interList, self.applyList2, errorKey='error_key', size=add, list=addToList), result)
def fastAlgo(self): combineListOfDict('name', self.data, self.data, errorKey = 'error_key', size = add, list = addToList)