PLANS = [ # Deprecated Plans { 'title': 'Micro', 'price': 700, 'privateRepos': 5, 'stripeId': 'micro', 'audience': 'For smaller teams', 'bus_features': False, 'deprecated': True, }, { 'title': 'Basic', 'price': 1200, 'privateRepos': 10, 'stripeId': 'small', 'audience': 'For your basic team', 'bus_features': False, 'deprecated': True, }, { 'title': 'Medium', 'price': 2200, 'privateRepos': 20, 'stripeId': 'medium', 'audience': 'For medium teams', 'bus_features': False, 'deprecated': True, }, { 'title': 'Large', 'price': 5000, 'privateRepos': 50, 'stripeId': 'large', 'audience': 'For larger teams', 'bus_features': False, 'deprecated': True, }, # Active plans { 'title': 'Open Source', 'price': 0, 'privateRepos': 0, 'stripeId': 'free', 'audience': 'Committment to FOSS', 'bus_features': False, 'deprecated': False, }, { 'title': 'Personal', 'price': 1200, 'privateRepos': 5, 'stripeId': 'personal', 'audience': 'Individuals', 'bus_features': False, 'deprecated': False, }, { 'title': 'Skiff', 'price': 2500, 'privateRepos': 10, 'stripeId': 'bus-micro', 'audience': 'For startups', 'bus_features': True, 'deprecated': False, }, { 'title': 'Yacht', 'price': 5000, 'privateRepos': 20, 'stripeId': 'bus-small', 'audience': 'For small businesses', 'bus_features': True, 'deprecated': False, }, { 'title': 'Freighter', 'price': 10000, 'privateRepos': 50, 'stripeId': 'bus-medium', 'audience': 'For normal businesses', 'bus_features': True, 'deprecated': False, }, { 'title': 'Tanker', 'price': 20000, 'privateRepos': 125, 'stripeId': 'bus-large', 'audience': 'For large businesses', 'bus_features': True, 'deprecated': False, }, ] def get_plan(plan_id): """ Returns the plan with the given ID or None if none. """ for plan in PLANS: if plan['stripeId'] == plan_id: return plan return None