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
|
pip install -r dev-requirements.txt
|
||||||
|
|
||||||
- name: Run tests
|
- 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: |
|
run: |
|
||||||
python -m pytest --verbose
|
python -m pytest --verbose
|
||||||
|
|||||||
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,4 +1,4 @@
|
|||||||
**/__pycache__
|
**/__pycache__
|
||||||
instance/
|
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`
|
from truthseeker import APP as app # the variable 'app' is detected by `flask run`
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
@ -4,3 +4,5 @@ Flask-SocketIO==5.3.2
|
|||||||
SQLAlchemy==1.4.20
|
SQLAlchemy==1.4.20
|
||||||
pymysql==1.0.2
|
pymysql==1.0.2
|
||||||
discord.py==2.1.0
|
discord.py==2.1.0
|
||||||
|
discord.py==2.1.0
|
||||||
|
python-dotenv==0.21.0
|
||||||
|
|||||||
@ -19,12 +19,12 @@ class TruthSeekerApp(flask.Flask):
|
|||||||
|
|
||||||
self.games_list = {}
|
self.games_list = {}
|
||||||
|
|
||||||
self.set_app_secret()
|
self.config["SECRET_KEY"] = os.getenv("FLASK_SECRET")
|
||||||
|
|
||||||
self.socketio_app = SocketIO(self)
|
self.socketio_app = SocketIO(self)
|
||||||
|
|
||||||
self.discord_bot = discord_bot.DiscordBot()
|
self.discord_bot = discord_bot.DiscordBot()
|
||||||
token = self.get_discord_bot_token()
|
token = os.getenv("DISCORD_BOT_TOKEN")
|
||||||
if token:
|
if token:
|
||||||
pass
|
pass
|
||||||
self.discord_bot.start(token)
|
self.discord_bot.start(token)
|
||||||
@ -34,35 +34,6 @@ class TruthSeekerApp(flask.Flask):
|
|||||||
def run_app(self):
|
def run_app(self):
|
||||||
self.socketio_app.run(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()
|
APP = TruthSeekerApp()
|
||||||
|
|
||||||
from truthseeker.routes import routes_api, routes_ui, routes_socketio
|
from truthseeker.routes import routes_api, routes_ui, routes_socketio
|
||||||
|
|||||||
@ -1,17 +1,18 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
from sqlalchemy import create_engine
|
from sqlalchemy import create_engine
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
from sqlalchemy import engine as eg
|
from sqlalchemy import engine as eg
|
||||||
import random
|
import random
|
||||||
import truthseeker.logic.data_persistance.tables as tables
|
import truthseeker.logic.data_persistance.tables as tables
|
||||||
from truthseeker.logic.data_persistance.secret import HOST, USER, PASS
|
|
||||||
|
|
||||||
url_object = eg.URL.create(
|
url_object = eg.URL.create(
|
||||||
"mariadb+pymysql",
|
"mariadb+pymysql",
|
||||||
username=USER,
|
username=os.getenv("DB_USER"),
|
||||||
password=PASS,
|
password=os.getenv("DB_PASSWORD"),
|
||||||
host=HOST,
|
host=os.getenv("DB_HOST"),
|
||||||
port=6776,
|
port=os.getenv("DB_PORT"),
|
||||||
database="truthInquiry",
|
database=os.getenv("DB_DBNAME"),
|
||||||
)
|
)
|
||||||
engine = create_engine(url_object)
|
engine = create_engine(url_object)
|
||||||
session = Session(engine)
|
session = Session(engine)
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
from sqlalchemy import create_engine
|
from sqlalchemy import create_engine
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
from sqlalchemy import engine as eg
|
from sqlalchemy import engine as eg
|
||||||
@ -12,19 +14,17 @@ from data.questions import QUESTIONS
|
|||||||
from data.reactions import REACTIONS
|
from data.reactions import REACTIONS
|
||||||
from data.traits import TRAITS
|
from data.traits import TRAITS
|
||||||
|
|
||||||
from secret import HOST, USER, PASS
|
|
||||||
|
|
||||||
url_object = eg.URL.create(
|
url_object = eg.URL.create(
|
||||||
"mariadb+pymysql",
|
"mariadb+pymysql",
|
||||||
username=USER,
|
username=os.getenv("DB_USER"),
|
||||||
password=PASS,
|
password=os.getenv("DB_PASSWORD"),
|
||||||
host=HOST,
|
host=os.getenv("DB_HOST"),
|
||||||
port=6776,
|
port=os.getenv("DB_PORT"),
|
||||||
database="truthInquiry",
|
database=os.getenv("DB_DBNAME"),
|
||||||
)
|
)
|
||||||
engine = create_engine(url_object)
|
engine = create_engine(url_object)
|
||||||
|
|
||||||
|
|
||||||
# Reset data tables
|
# Reset data tables
|
||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
Base.metadata.drop_all(engine)
|
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