Add a script to detect freeloaders for our own entertainment.

This commit is contained in:
yackob03 2013-11-18 15:59:07 -05:00
parent a079919a77
commit 949a2de01c

25
tools/freeloaders.py Normal file
View file

@ -0,0 +1,25 @@
from data import model
from data.database import User
from app import stripe
from data.plans import get_plan
def get_private_allowed(customer):
if not customer.stripe_id:
return 0
subscription = stripe.Customer.retrieve(customer.stripe_id).subscription
if subscription is None:
return 0
plan = get_plan(subscription.plan.id)
return plan['privateRepos']
# Find customers who have more private repositories than their plans allow
users = User.select()
usage = [(user.username, model.get_private_repo_count(user.username),
get_private_allowed(user)) for user in users]
for username, used, allowed in usage:
if used > allowed:
print('Violation: %s %s > %s' % (username, used, allowed))