graphs.py 文件源码

python
阅读 35 收藏 0 点赞 0 评论 0

项目:ccvpn3 作者: CCrypto 项目源码 文件源码
def payments_success_graph(period):
    chart = pygal.StackedBar(x_label_rotation=75, show_legend=True)
    chart.x_labels = []
    gen = list(last_days(30) if period == 'm' else last_months(12))

    chart.title = 'Successful payments %s' % (PERIOD_VERBOSE_NAME[period])

    for m in gen:
        chart.x_labels.append('%02d/%02d' % (m.month, m.day))

    values = dict()
    for backend_id, backend in BACKENDS.items():
        values = []
        payments = list(Payment.objects.filter(status='confirmed', backend_id=backend_id))

        for m in gen:
            filter_ = time_filter_between(period, m, lambda o: o.created)
            filtered = filter(filter_, payments)
            values.append(sum(1 for u in filtered))

        chart.add(backend_id, values)

    return chart.render()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号