87 lines
1.6 KiB
Python
87 lines
1.6 KiB
Python
import json
|
|
import itertools
|
|
|
|
USER_PLANS = [
|
|
{
|
|
'title': 'Open Source',
|
|
'price': 0,
|
|
'privateRepos': 0,
|
|
'stripeId': 'free',
|
|
'audience': 'Share with the world',
|
|
},
|
|
{
|
|
'title': 'Micro',
|
|
'price': 700,
|
|
'privateRepos': 5,
|
|
'stripeId': 'micro',
|
|
'audience': 'For smaller teams',
|
|
},
|
|
{
|
|
'title': 'Basic',
|
|
'price': 1200,
|
|
'privateRepos': 10,
|
|
'stripeId': 'small',
|
|
'audience': 'For your basic team',
|
|
},
|
|
{
|
|
'title': 'Medium',
|
|
'price': 2200,
|
|
'privateRepos': 20,
|
|
'stripeId': 'medium',
|
|
'audience': 'For medium teams',
|
|
},
|
|
{
|
|
'title': 'Large',
|
|
'price': 5000,
|
|
'privateRepos': 50,
|
|
'stripeId': 'large',
|
|
'audience': 'For larger teams',
|
|
},
|
|
]
|
|
|
|
BUSINESS_PLANS = [
|
|
{
|
|
'title': 'Open Source',
|
|
'price': 0,
|
|
'privateRepos': 0,
|
|
'stripeId': 'bus-free',
|
|
'audience': 'Committment to FOSS',
|
|
},
|
|
{
|
|
'title': 'Skiff',
|
|
'price': 2500,
|
|
'privateRepos': 10,
|
|
'stripeId': 'bus-micro',
|
|
'audience': 'For startups',
|
|
},
|
|
{
|
|
'title': 'Yacht',
|
|
'price': 5000,
|
|
'privateRepos': 20,
|
|
'stripeId': 'bus-small',
|
|
'audience': 'For small businesses',
|
|
},
|
|
{
|
|
'title': 'Freighter',
|
|
'price': 10000,
|
|
'privateRepos': 50,
|
|
'stripeId': 'bus-medium',
|
|
'audience': 'For normal businesses',
|
|
},
|
|
{
|
|
'title': 'Tanker',
|
|
'price': 20000,
|
|
'privateRepos': 125,
|
|
'stripeId': 'bus-large',
|
|
'audience': 'For large businesses',
|
|
},
|
|
]
|
|
|
|
|
|
def get_plan(id):
|
|
""" Returns the plan with the given ID or None if none. """
|
|
for plan in itertools.chain(USER_PLANS, BUSINESS_PLANS):
|
|
if plan['stripeId'] == id:
|
|
return plan
|
|
|
|
return None
|