def collected_salestax(qstring): chart_data = column_chart(title='Tax Collected', y_label='Total', data_labels=True) chart_data['plotOptions']['series']['dataLabels']['format'] = '{point.y:,.2f}' all_salestax = sorted(sales_api.salestax(qstring), key=lambda x: x['collector']) by_collector = itertools.groupby(all_salestax, lambda x: x['collector']) data = dict((k, sum([float(st['tax']) for st in v])) for k, v in by_collector) chart_data['xAxis'] = {'categories': data.keys()} series_0 = {'name': 'Sales Tax Collected'} series_0['data'] = [float(data[k]) for k in chart_data['xAxis']['categories']] chart_data['series'] = [series_0] return chart_data
def sale_count(qstring): chart_data = column_chart(title='Unit Sales', y_label='Total', data_labels=True, colored_cols=True) item_count = sales_api.sale_count({}) inventory_count = inventory_api.inventorycount({}) sorted_data = sorted(item_count.items(), key=operator.itemgetter(1)) x_labels = [x[0] for x in sorted_data] chart_data['xAxis'] = {'categories': x_labels} series_0 = {'name': 'Unit Sales (LHS)'} series_0['data'] = [x[1] for x in sorted_data] series_0['colors'] = [COLORS.get(lbl) for lbl in x_labels] series_1 = {'name': 'Units Ordered (RHS)'} series_1['data'] = [inventory_count.get(lbl) for lbl in x_labels] series_1['colors'] = ['black'] * len(x_labels) chart_data['series'] = [series_0, series_1] return chart_data