def generate_report(metric_set=None, html=False): """ Generate a Metric Set Report """ # Get trending data for each metric metric_trends = [] for m in metric_set.metrics.all(): data = {'metric': m} data['trends'] = trending_for_metric(m) metric_trends.append(data) message = render_to_string( 'app_metrics/email.txt', { 'metric_set': metric_set, 'metrics': metric_trends, 'today': datetime.date.today(), }) if html: message_html = render_to_string( 'app_metrics/email.html', { 'metric_set': metric_set, 'metrics': metric_trends, 'today': datetime.date.today(), }) return message, message_html else: return message
def generate_report(metric_set=None, html=False): """ Generate a Metric Set Report """ # Get trending data for each metric metric_trends = [] for m in metric_set.metrics.all(): data = {'metric': m} data['trends'] = trending_for_metric(m) metric_trends.append(data) message = render_to_string('app_metrics/email.txt', { 'metric_set': metric_set, 'metrics': metric_trends, 'today': datetime.date.today(), }) if html: message_html = render_to_string('app_metrics/email.html', { 'metric_set': metric_set, 'metrics': metric_trends, 'today': datetime.date.today(), }) return message, message_html else: return message
def metric_report_view(request, data=datetime.date.today()): metric_trends = [] for m in Metric.objects.all(): dict = {'metric': m} dict['trends'] = trending_for_metric(m, data-datetime.timedelta(days=1)) metric_trends.append(dict) return render_to_response('app_metrics/reports.html', locals(), RequestContext(request))
def generate_report(metric_set=None, html=False): """ Generate a Metric Set Report """ # Get trending data for each metric metric_trends = [] for m in metric_set.metrics.all(): data = {'metric': m} data['trends'] = trending_for_metric(m) metric_trends.append(data) send_zero_activity = getattr(settings, 'APP_METRICS_SEND_ZERO_ACTIVITY', True) if not send_zero_activity: activity_today = False for trend in metric_trends: if trend['trends']['current_day'] > 0: activity_today = True continue if not activity_today: return None, None dates = {} today = datetime.date.today() dates['minus2'] = today - datetime.timedelta(days=2) dates['minus3'] = today - datetime.timedelta(days=3) dates['minus4'] = today - datetime.timedelta(days=4) dates['minus5'] = today - datetime.timedelta(days=5) dates['minus6'] = today - datetime.timedelta(days=6) message = render_to_string('app_metrics/email.txt', { 'metric_set': metric_set, 'metrics': metric_trends, 'today': datetime.date.today(), 'dates': dates, }) if html: message_html = render_to_string('app_metrics/email.html', { 'metric_set': metric_set, 'metrics': metric_trends, 'today': datetime.date.today(), 'dates': dates, }) return message, message_html else: return message
def generate_report(metric_set=None, html=False): """ Generate a Metric Set Report """ # Get trending data for each metric metric_trends = [] for m in metric_set.metrics.all(): data = {'metric': m, 'trends': trending_for_metric(m)} metric_trends.append(data) send_zero_activity = getattr(settings, 'APP_METRICS_SEND_ZERO_ACTIVITY', True) if not send_zero_activity: activity_today = False for trend in metric_trends: if trend['trends']['current_day'] > 0: activity_today = True continue if not activity_today: return None, None message = render_to_string( 'app_metrics/email.txt', { 'metric_set': metric_set, 'metrics': metric_trends, 'today': datetime.date.today(), }) if html: message_html = render_to_string( 'app_metrics/email.html', { 'metric_set': metric_set, 'metrics': metric_trends, 'today': datetime.date.today(), }) return message, message_html else: return message