Add a script to detect freeloaders for our own entertainment.
This commit is contained in:
parent
a079919a77
commit
949a2de01c
1 changed files with 25 additions and 0 deletions
25
tools/freeloaders.py
Normal file
25
tools/freeloaders.py
Normal 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))
|
Reference in a new issue