From bb04e744c32599be395d7dd198921d06f428ada5 Mon Sep 17 00:00:00 2001 From: Thomas Rubini <74205383+ThomasRubini@users.noreply.github.com> Date: Fri, 13 Jan 2023 11:46:54 +0100 Subject: [PATCH] use a dotenv file --- .env.dist | 2 ++ .gitignore | 3 ++- app.py | 4 ++++ requirements.txt | 2 ++ truthseeker/__init__.py | 35 +++-------------------------------- 5 files changed, 13 insertions(+), 33 deletions(-) create mode 100644 .env.dist diff --git a/.env.dist b/.env.dist new file mode 100644 index 0000000..aa4af79 --- /dev/null +++ b/.env.dist @@ -0,0 +1,2 @@ +FLASK_SECRET="" +DISCORD_BOT_TOKEN="" diff --git a/.gitignore b/.gitignore index 9b9b034..cdfd457 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ **/__pycache__ instance/ data_persistance/secret.py -**/.vscode \ No newline at end of file +**/.vscode +.env diff --git a/app.py b/app.py index 0a00714..da5364f 100644 --- a/app.py +++ b/app.py @@ -1,3 +1,7 @@ +# Load .env file +from dotenv import load_dotenv +load_dotenv() + from truthseeker import APP as app # the variable 'app' is detected by `flask run` if __name__ == "__main__": diff --git a/requirements.txt b/requirements.txt index 1575c7f..ecc89ed 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,5 @@ Flask-SocketIO==5.3.2 SQLAlchemy==1.4.20 pymysql==1.0.2 discord.py==2.1.0 +discord.py==2.1.0 +python-dotenv==0.21.0 diff --git a/truthseeker/__init__.py b/truthseeker/__init__.py index 3794976..909bb11 100644 --- a/truthseeker/__init__.py +++ b/truthseeker/__init__.py @@ -18,13 +18,13 @@ class TruthSeekerApp(flask.Flask): super().__init__("truthseeker") self.games_list = {} - - self.set_app_secret() + + self.config["SECRET_KEY"] = os.getenv("FLASK_SECRET") self.socketio_app = SocketIO(self) self.discord_bot = discord_bot.DiscordBot() - token = self.get_discord_bot_token() + token = os.getenv("DISCORD_BOT_TOKEN") if token: pass self.discord_bot.start(token) @@ -34,35 +34,6 @@ class TruthSeekerApp(flask.Flask): def run_app(self): self.socketio_app.run(self) - def set_app_secret(self) -> None: - """ - Set the secret used by flask - """ - if os.path.isfile("instance/secret.txt"): - f = open("instance/secret.txt", "r") - self.config["SECRET_KEY"] = f.read() - f.close() - print("Read secret from secret.txt !") - else: - import secrets - self.config["SECRET_KEY"] = secrets.token_hex() - os.makedirs("instance", exist_ok=True) - f = open("instance/secret.txt", "w") - f.write(self.config["SECRET_KEY"]) - f.close() - print("Generated secret and wrote to secret.txt !") - - def get_discord_bot_token(self) -> str: - """ - Get the token used by the discord bot - """ - if os.path.isfile("instance/discord_bot_token.txt"): - f = open("instance/discord_bot_token.txt", "r") - token = f.read() - f.close() - return token - return None - APP = TruthSeekerApp() from truthseeker.routes import routes_api, routes_ui, routes_socketio