Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
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))
Esempio n. 4
0
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
Esempio n. 5
0
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