Esempio n. 1
0
def index():
    custom_datastreams = [
        (stream, {'href': link['href'][0:-5] + '/totals',
                  'title': 'total ' + link['title']}
        ) for stream, link in API.get_custom_datastreams(current_user)]
        
    connected_datastreams = [(stream, link)
          for stream, link in DEFAULT_DATASTREAMS
          if stream in current_user.uids.keys()]
    form = ChartForm(custom_datastreams + connected_datastreams, request.form)
    chart_data = API.get_chart_data(
                current_user, form.datastream.data,
                form.group_by.data.split(',')
            )
    
    if request.method == 'POST' and form.validate():
        group_by_heading = dict(form.group_by.choices)[form.group_by.data]
        datastream_heading = dict(form.datastream.choices)[form.datastream.data]
        
        series = [{
        'name': datastream_heading,
        'color': 'steelblue',
        'data': utils.format_chart_data(chart_data['data'])
        }]
    else:
        series = None
        group_by_heading = None
        datastream_heading = None
        
    return render_template('%s/index.html' % app.name,
        form = form, series = series, group_by_heading = group_by_heading,
        datastream_heading = datastream_heading
    )
Esempio n. 2
0
def json_for_buff(user, buff, colors):
    chart_series = []
    
    for path in buff['paths']:
        chart_data = API.get_chart_data(user, path, buff['group_by'],
            start = "%s-%s-%s" % tuple(buff['start']),
            end = buff['end'].strftime('%Y-%m-%d'
                ) if buff['end'] else datetime.datetime.now(pytz.utc
                ).strftime('%Y-%m-%d')
        )
        
        chart_series.append({
            'name': (chart_data['_links']['self']['title']
                ) if '_links' in chart_data and 'title' in chart_data['_links']['self'
                ] else path.replace('/', ' ').title(),
            'color': colors.next(),
            'data': format_chart_data(chart_data['data'])
        })
    return normalize_chart_series(chart_series)