Merge pull request #30 from ThomasRubini/dotenv
This commit is contained in:
commit
4a889aa559
10
.env.dist
Normal file
10
.env.dist
Normal file
@ -0,0 +1,10 @@
|
||||
# Common
|
||||
FLASK_SECRET=""
|
||||
DISCORD_BOT_TOKEN=""
|
||||
|
||||
# Database
|
||||
DB_HOST=""
|
||||
DB_PORT=3306
|
||||
DB_USER=""
|
||||
DB_PASSWORD=""
|
||||
DB_DBNAME=""
|
7
.github/workflows/tests.yml
vendored
7
.github/workflows/tests.yml
vendored
@ -16,5 +16,12 @@ jobs:
|
||||
pip install -r dev-requirements.txt
|
||||
|
||||
- name: Run tests
|
||||
env:
|
||||
FLASK_SECRET: ${{SECRETS.FLASK_SECRET}}
|
||||
DB_HOST: ${{SECRETS.DB_HOST}}
|
||||
DB_PORT: ${{SECRETS.DB_PORT}}
|
||||
DB_USER: ${{SECRETS.DB_USER}}
|
||||
DB_PASSWORD: ${{SECRETS.DB_PASSWORD}}
|
||||
DB_DBNAME: ${{SECRETS.DB_DBNAME}}
|
||||
run: |
|
||||
python -m pytest --verbose
|
||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,4 +1,4 @@
|
||||
**/__pycache__
|
||||
instance/
|
||||
data_persistance/secret.py
|
||||
**/.vscode
|
||||
**/.vscode
|
||||
.env
|
||||
|
4
app.py
4
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__":
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,17 +1,18 @@
|
||||
import os
|
||||
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import Session
|
||||
from sqlalchemy import engine as eg
|
||||
import random
|
||||
import truthseeker.logic.data_persistance.tables as tables
|
||||
from truthseeker.logic.data_persistance.secret import HOST, USER, PASS
|
||||
|
||||
url_object = eg.URL.create(
|
||||
"mariadb+pymysql",
|
||||
username=USER,
|
||||
password=PASS,
|
||||
host=HOST,
|
||||
port=6776,
|
||||
database="truthInquiry",
|
||||
username=os.getenv("DB_USER"),
|
||||
password=os.getenv("DB_PASSWORD"),
|
||||
host=os.getenv("DB_HOST"),
|
||||
port=os.getenv("DB_PORT"),
|
||||
database=os.getenv("DB_DBNAME"),
|
||||
)
|
||||
engine = create_engine(url_object)
|
||||
session = Session(engine)
|
||||
|
@ -1,3 +1,5 @@
|
||||
import os
|
||||
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import Session
|
||||
from sqlalchemy import engine as eg
|
||||
@ -12,19 +14,17 @@ from data.questions import QUESTIONS
|
||||
from data.reactions import REACTIONS
|
||||
from data.traits import TRAITS
|
||||
|
||||
from secret import HOST, USER, PASS
|
||||
|
||||
url_object = eg.URL.create(
|
||||
"mariadb+pymysql",
|
||||
username=USER,
|
||||
password=PASS,
|
||||
host=HOST,
|
||||
port=6776,
|
||||
database="truthInquiry",
|
||||
username=os.getenv("DB_USER"),
|
||||
password=os.getenv("DB_PASSWORD"),
|
||||
host=os.getenv("DB_HOST"),
|
||||
port=os.getenv("DB_PORT"),
|
||||
database=os.getenv("DB_DBNAME"),
|
||||
)
|
||||
engine = create_engine(url_object)
|
||||
|
||||
|
||||
# Reset data tables
|
||||
with Session(engine) as session:
|
||||
Base.metadata.drop_all(engine)
|
||||
|
@ -1,3 +0,0 @@
|
||||
HOST = "mariadb.simailadjalim.fr"
|
||||
USER = "truthInquiry"
|
||||
PASS = "truthInquiry"
|
Loading…
Reference in New Issue
Block a user