From d34b35370d672824d9caab5595f1836659c90724 Mon Sep 17 00:00:00 2001 From: Andrew Liu Date: Sun, 14 Apr 2024 14:40:35 +0000 Subject: [PATCH] make the entrypoint work --- server/__init__.py | 5 +++-- server/config.py | 36 +++++++++++++++--------------------- wsgi.py | 3 ++- 3 files changed, 20 insertions(+), 24 deletions(-) diff --git a/server/__init__.py b/server/__init__.py index a92569975..4402dbc33 100644 --- a/server/__init__.py +++ b/server/__init__.py @@ -1,5 +1,7 @@ """Initialize the Flask app.""" +from typing import cast + import numpy from apiflask import APIFlask from flask import redirect, render_template @@ -77,11 +79,10 @@ def create_app(): db.init_app(app) allowed_domains = app.config.get("ALLOWED_DOMAINS") - assert type(allowed_domains) is list[str] cors.init_app( app, - origins=allowed_domains, + origins=cast(list[str], allowed_domains), supports_credentials=True, ) diff --git a/server/config.py b/server/config.py index cffba157f..fdfe6fe65 100644 --- a/server/config.py +++ b/server/config.py @@ -2,7 +2,6 @@ import os from pathlib import Path -from typing import cast from dotenv import load_dotenv @@ -14,9 +13,7 @@ ENV = os.environ.get("ENV", "development") -def _get_config_option( - name: str, default_value: str | None = None, required: bool = False -) -> str | None: +def _get_config_option(name: str, default_value: str | None = None) -> str: if ENV == "production": value = os.environ.get(name, None) if value is None: @@ -27,11 +24,8 @@ def _get_config_option( else: value = os.environ.get(name, default_value) - if required and value is None: - raise Exception(f"Environment variable {name} is required but not set.") - - if required: - value = cast(str, value) + if value is None: + raise Exception(f"Environment variable {name} not set.") return value @@ -46,24 +40,24 @@ def _get_config_option( FLASK_RUN_PORT = 2010 DEBUG = True -MAIL_USERNAME = _get_config_option("MAIL_USERNAME", required=True) -MAIL_PASSWORD = _get_config_option("MAIL_PASSWORD", required=True) -MAIL_CC = _get_config_option("MAIL_CC", required=True) +MAIL_USERNAME = _get_config_option("MAIL_USERNAME") +MAIL_PASSWORD = _get_config_option("MAIL_PASSWORD") +MAIL_CC = _get_config_option("MAIL_CC") MAIL_SENDER_TAG = f'"Blueprint Team" <{MAIL_USERNAME}>' -AUTH_CLIENT_ID = _get_config_option("AUTH_CLIENT_ID", required=True) -AUTH_CLIENT_SECRET = _get_config_option("AUTH_CLIENT_SECRET", required=True) -SESSION_SECRET = _get_config_option("SESSION_SECRET", required=True) +AUTH_CLIENT_ID = _get_config_option("AUTH_CLIENT_ID") +AUTH_CLIENT_SECRET = _get_config_option("AUTH_CLIENT_SECRET") +SESSION_SECRET = _get_config_option("SESSION_SECRET") -OPENAI_API_KEY = _get_config_option("OPENAI_API_KEY", required=True) +OPENAI_API_KEY = _get_config_option("OPENAI_API_KEY") -AUTH_USERNAME = _get_config_option("AUTH_USERNAME", required=True) -AUTH_PASSWORD = _get_config_option("AUTH_PASSWORD", required=True) +AUTH_USERNAME = _get_config_option("AUTH_USERNAME") +AUTH_PASSWORD = _get_config_option("AUTH_PASSWORD") -AWS_REGION = _get_config_option("AWS_REGION", required=True) -AWS_ACCESS_KEY_ID = _get_config_option("AWS_ACCESS_KEY_ID", required=True) -AWS_SECRET_ACCESS_KEY = _get_config_option("AWS_SECRET_ACCESS_KEY", required=True) +AWS_REGION = _get_config_option("AWS_REGION") +AWS_ACCESS_KEY_ID = _get_config_option("AWS_ACCESS_KEY_ID") +AWS_SECRET_ACCESS_KEY = _get_config_option("AWS_SECRET_ACCESS_KEY") AUTH_ADMINS = [ {"name": "HackMIT", "email": "admin@hackmit.org"}, diff --git a/wsgi.py b/wsgi.py index 2ae32c65b..1b016d958 100644 --- a/wsgi.py +++ b/wsgi.py @@ -1,5 +1,6 @@ +"""WSGI entrypoint.""" + from server import create_app -import os if __name__ == "__main__": app = create_app()