def graphIt(): areas = db_access.get_all_areas() placesList = [] theAvgMeasurements = [] for a in areas: placesList.append(a['name']) theAvg = db_utility.get_average_measurements_for_area(a['area_id']) if not theAvg: theAvg = 0 theAvgMeasurements.append(theAvg) print(theAvgMeasurements) values = tuple(theAvgMeasurements) ind = na.array(range(len(values))) + 0.5 width = 0.35 plt.bar(ind, values, width, color='r') plt.ylabel('Average Measurement') plt.title('Areas') plt.xticks(ind + width / 2, tuple(placesList)) plt.show()
def testAverageMeasurementMissing(self): avg = db_utility.get_average_measurements_for_area(7) self.assertEqual(None, avg)
def testAverageMeasurement(self): avg = db_utility.get_average_measurements_for_area(3) self.assertAlmostEqual(61.77813528637446, avg, delta=1e-10)
def average_measurements(area_id): response.content_type = "application/json" data = get_average_measurements_for_area(area_id) return dumps(data)
# Chart formatting space = 18 line_format = ' {:>4} {:<25} {:<10} {:^12} {:' + str(space + 1) + '} ' divider_line1 = '-' * (84) divider_line3 = '-' * 82 line_format2 = ' {:^' + str(60 + space) + '} ' # Print Chart # Print header print("\n" + divider_line1) print(divider_line1) print(line_format.format("ID", "Name", "Num Loc", "Avg Value", "Categories")) print(divider_line3) # Print information for i in db_access.get_all_areas(): avg = db_utility.get_average_measurements_for_area( i[0]) # Calculate average print( line_format.format( str(i[0]), i[1], str(db_utility.number_of_locations_by_area( i[0])), # areaId, name, num of locations "-----" if avg is None else str(round( avg, 2)), # avg measurement, round 2 decimals str(", ".join( str(j[1]) for j in db_access.get_categories_for_area( i[0]))))) # categories
import db_access import db_utility categories = '' my_tuple_report = [] my_tuple = db_access.get_all_areas() template = "{:>3} {:<25} {:>10} {:>25} {:<30}" line = template.format('ID', 'Name', "Num Loc", "Avg Value", 'Categories') print(line) for area_row in my_tuple: #print(area_row) categories = '' area_id = area_row[0] area_name = area_row[1] loc_num = db_utility.number_of_locations_by_area(area_id) avg_value = db_utility.get_average_measurements_for_area(area_id) if avg_value is None: avg_value = " _________________" my_categories = db_access.get_categories_for_area(area_id) #print(my_categories) for category_row in my_categories: categories = categories + category_row + ', ' if categories is None: pass else: categories = categories.rstrip(', ') template = "{:3} {:25} {:10} {:25.4} {:30}" line2 = template.format(area_id, area_name, loc_num, avg_value, categories) print(line2)
categoryString = '' theCategory = [] try: for i in aList: theCategory.append(i['name']) countString = len(area_category) for i in theCategory: categoryString += i if countString > 1: categoryString += ', ' countString += -1 except TypeError: categoryString = '' return categoryString # ------------------------------------| Pretty Print |---------------------------------------------- for area in areas: area_id = area['area_id'] area_location = db_access.get_locations_for_area(area_id) area_category = db_access.get_categories_for_area(area_id) avgMeasurementString = str( db_utility.get_average_measurements_for_area(area_id)) if not db_utility.get_average_measurements_for_area(area_id): avgMeasurementString = '--------' # Final output row = template.format(area_id, area['name'], len(area_location), avgMeasurementString,getCategoryString(area_category)) print(row)
</div> </div>""") a = get_all_areas() category = "" num = 1 #table space for database entries: print("""<div id="page_body2">Table of Areas</br><table class=\"grid\"><th class=\"grid\">ID</th><th class=\"grid\">Name</th> <th class=\"grid\">Number of Locations</th><th class=\"grid\">Average Value</th> <th class=\"grid\">Categories</th>""") for x in a: b = number_of_locations_by_area(num) c = get_average_measurements_for_area(num) d = get_categories_for_area(num) spec1 = (27-(len(x['name'])+2)) if not d: #if categories returns none category = "" else: #if categories returns a list for C in d: category += C['name']+" " if not c: total = "{0:} {1:} {2:>"+str(spec1)+"} {3:>19} {4:>7}" cc = "----------" # print(total.format(num, x['name'], b, cc, category))r print("<tr><td>" + str(num) + "</td><td>" + x['name'] + "</td><td>" + str(b) + "</td><td>" + str(cc) + "</td><td>" + category + "</td></tr>") else: # nString = str(num)