This repository has been archived on 2020-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
quay/tools/monthlyrevenue.py

36 lines
1 KiB
Python

from app import stripe
from collections import defaultdict
EXCLUDE_CID = {'cus_2iVlmwz8CpHgOj'}
offset = 0
total_monthly_revenue = 0
def empty_tuple():
return (0, 0)
plan_revenue = defaultdict(empty_tuple)
batch = stripe.Customer.all(count=100, offset=offset)
while batch.data:
for cust in batch.data:
if cust.id not in EXCLUDE_CID and cust.subscription:
sub = cust.subscription
total_monthly_revenue += sub.plan.amount * sub.quantity
subscribers, revenue = plan_revenue[sub.plan.id]
plan_revenue[sub.plan.id] = (subscribers + 1,
revenue + sub.plan.amount * sub.quantity)
offset += len(batch.data)
batch = stripe.Customer.all(count=100, offset=offset)
def format_money(total_cents):
dollars = total_cents / 100
cents = total_cents % 100
return dollars, cents
for plan_id, (subs, rev) in plan_revenue.items():
d, c = format_money(rev)
print '%s: $%d.%02d(%s)' % (plan_id, d, c, subs)
d, c = format_money(total_monthly_revenue)
print 'Monthly revenue: $%d.%02d' % (d, c)