diff --git a/.gitignore b/.gitignore index c630ff3..aabd730 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ resumes*/ resumes*.zip config_hackWPI.py -config.py admin/*.json admin/*.csv diff --git a/config.py b/config.py new file mode 100644 index 0000000..fd6561b --- /dev/null +++ b/config.py @@ -0,0 +1,29 @@ +import os + +from dotenv import load_dotenv, dotenv_values + +basedir = os.path.abspath(os.path.dirname(__file__)) +load_dotenv(os.path.join(basedir, '.env')) + +class Config(): + TESTING = dotenv_values().get("TESTING") or False + DEBUG = dotenv_values().get("DEBUG") or False + + SQLALCHEMY_DATABASE_URI = dotenv_values().get("SQLALCHEMY_DATABASE_URI") or "postgresql://localhost/goathacks" + + MAX_BEFORE_WAITLIST = dotenv_values().get("MAX_BEFORE_WAITLIST") or 1 + SECRET_KEY = dotenv_values().get("SECRET_KEY") or "bad-key-change-me" + + UPLOAD_FOLDER = dotenv_values().get("UPLOAD_FOLDER") or "./uploads/" + + DISCORD_LINK = dotenv_values().get("DISCORD_LINK") or None + + # Mail server settings + MAIL_SERVER = dotenv_values().get("MAIL_SERVER") or "localhost" + MAIL_PORT = dotenv_values().get("MAIL_PORT") or 25 + MAIL_USE_TLS = dotenv_values().get("MAIL_USE_TLS") or False + MAIL_USE_SSL = dotenv_values().get("MAIL_USE_SSL") or False + MAIL_USERNAME = dotenv_values().get("MAIL_USERNAME") or "dummy" + MAIL_PASSWORD = dotenv_values().get("MAIL_PASSWORD") or "dummy" + MAIL_DEFAULT_SENDER = dotenv_values().get("MAIL_DEFAULT_SENDER") or "GoatHacks Team " + MAIL_SUPPRESS_SEND = dotenv_values().get("MAIL_SUPPRESS_SEND") or TESTING diff --git a/goathacks/__init__.py b/goathacks/__init__.py index 461e3c5..b43a79c 100644 --- a/goathacks/__init__.py +++ b/goathacks/__init__.py @@ -9,6 +9,8 @@ from flask_bootstrap import Bootstrap5 from flask_font_awesome import FontAwesome from flask_qrcode import QRcode +from config import Config + db = SQLAlchemy() @@ -21,10 +23,10 @@ bootstrap = Bootstrap5() font_awesome = FontAwesome() qrcode = QRcode() -def create_app(): +def create_app(config_class=Config): app = Flask(__name__) - app.config.from_pyfile("config.py") + app.config.from_object(config_class) db.init_app(app) migrate.init_app(app, db) diff --git a/goathacks/config.py.example b/goathacks/config.py.example deleted file mode 100644 index fb85c63..0000000 --- a/goathacks/config.py.example +++ /dev/null @@ -1,18 +0,0 @@ -SQLALCHEMY_DATABASE_URI="postgresql://localhost/goathacks" -MAX_BEFORE_WAITLIST=1 -SECRET_KEY="bad-key-change-me" - -UPLOAD_FOLDER="./uploads/" - -DISCORD_LINK=None - - -# Mail settings -MAIL_SERVER="localhost" -MAIL_PORT=25 -MAIL_USE_TLS=False -MAIL_USE_SSL=False -MAIL_USERNAME="dummy" -MAIL_PASSWORD="dummy" -MAIL_DEFAULT_SENDER="GoatHacks Team " -