Merge pull request #31 from ThomasRubini/lint

This commit is contained in:
Thomas Rubini 2023-01-13 13:41:17 +01:00 committed by GitHub
commit f15291031a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 45 additions and 42 deletions

View File

@ -1,9 +1,11 @@
import flask
from flask_socketio import SocketIO
import os
import flask
from flask_socketio import SocketIO
from truthseeker import discord_bot
class TruthSeekerApp(flask.Flask):
"""
Main class of the app
@ -26,14 +28,10 @@ class TruthSeekerApp(flask.Flask):
self.discord_bot = discord_bot.DiscordBot()
token = os.getenv("DISCORD_BOT_TOKEN")
if token:
pass
self.discord_bot.start(token)
else:
print("No token set. Not starting discord bot")
def run_app(self):
self.socketio_app.run(self)
APP = TruthSeekerApp()
from truthseeker.routes import routes_api, routes_ui, routes_socketio

View File

@ -1,14 +1,17 @@
import discord
import threading
import truthseeker
import asyncio
import discord
import truthseeker
class DiscordBot:
"""
Wrapper around a discord bot, providing utility methods to interact with it
:attr Client bot: the underlying discord bot from discord.py
:attr TextChannel __channel__: the channel used by the bot to send messages
:attr event_loop: event_loop used by discord.py. Used to schedule tasks from another thread
"""
def __init__(self):

View File

@ -17,38 +17,38 @@ url_object = eg.URL.create(
engine = create_engine(url_object)
session = Session(engine)
def getTextFromLid(lang,lid) -> str:
def get_text_from_lid(lang,lid) -> str:
return session.query(tables.Locale).filter_by(LANG=lang, TEXT_ID=lid).one().TEXT
def getRandomPlace() -> tables.Place:
def get_random_place() -> tables.Place:
return random.choice(session.query(tables.Place).all())
def getRandomNpc() -> tables.Npc :
def get_random_npc() -> tables.Npc :
return random.choice(session.query(tables.Npc).all())
def getNpcRandomTraitId(npc) -> int:
def get_npc_random_trait_id(npc) -> int:
reactions = session.query(tables.Reaction).filter_by(NPC_ID=npc.NPC_ID).all()
reaction = random.choice(reactions)
return reaction.TRAIT_ID
def getNpcRandomAnswer(npc, QA_TYPE) -> tables.Answer :
def get_npc_random_answer(npc, QA_TYPE) -> tables.Answer :
answers = session.query(tables.Answer).filter_by(QA_TYPE=QA_TYPE,NPC_ID=npc.NPC_ID).all()
return random.choice(answers)
def getRandomQuestion(QA_TYPE) -> tables.Answer :
def get_random_question(QA_TYPE) -> tables.Answer :
answers = session.query(tables.Question).filter_by(QUESTION_TYPE=QA_TYPE).all()
return random.choice(answers)
def getTraitFromText(text):
def get_trait_from_text(text):
trait_lid = session.query(tables.Locale).filter_by(TEXT=text).one().TEXT_ID
return session.query(tables.Trait).filter_by(NAME_LID=trait_lid).one().TRAIT_ID
def getTraitFromTraitId(trait_id):
def get_trait_from_trait_id(trait_id):
trait = session.query(tables.Trait).filter_by(TRAIT_ID=trait_id).one()
return trait
def getTraits(lang):
def get_traits(lang):
traits = []
for trait in session.query(tables.Trait).all():
traits.append(getTextFromLid(lang,trait.NAME_LID))
traits.append(get_text_from_lid(lang,trait.NAME_LID))
return traits

View File

@ -1,8 +1,8 @@
from sqlalchemy import Column, Integer, Text, ForeignKey, VARCHAR
from sqlalchemy.orm import declarative_base, relationship
Base = declarative_base()
Base = declarative_base()
class Locale(Base):
__tablename__ = 'T_LOCALE'

View File

@ -1,9 +1,9 @@
import string
import random
from typing import Union
from truthseeker.logic.data_persistance.data_access import *
from datetime import datetime, timedelta
from truthseeker import APP
from typing import Union, Optional
def random_string(length: int) ->str:
"""
@ -76,8 +76,8 @@ class Game:
npcs[npc_id] = {}
npcs[npc_id]["name"] = self.gamedata["npcs"][npc_id]["name"]
traitId = self.reaction_table[npc_id]
trait = getTraitFromTraitId(traitId)
npcs[npc_id]["reaction"] = getTextFromLid("FR",trait.NAME_LID)
trait = get_trait_from_trait_id(traitId)
npcs[npc_id]["reaction"] = get_text_from_lid("FR",trait.NAME_LID)
player_results = data["player"] = {}
for member in self.members:
player_results[member.username] = member.results
@ -130,7 +130,7 @@ class Game:
results = {}
try:
for npc_id in responses:
trait_id = getTraitIdFromString(responses[npc_id])
trait_id = get_trait_id_from_string(responses[npc_id])
results[npc_id] = trait_id == str(self.reaction_table[npc_id])
return results
except:
@ -200,20 +200,20 @@ def check_username(username: str) -> bool:
def generateNpcText(npc: tables.Npc, lang: str) -> dict:
data = {}
data["name"] = getTextFromLid(lang, npc.NAME_LID)
data["QA_0"] = getTextFromLid(lang, getNpcRandomAnswer(npc,0).TEXT_LID)
data["QA_1"] = getTextFromLid(lang, getNpcRandomAnswer(npc,1).TEXT_LID)
data["name"] = get_text_from_lid(lang, npc.NAME_LID)
data["QA_0"] = get_text_from_lid(lang, get_npc_random_answer(npc,0).TEXT_LID)
data["QA_1"] = get_text_from_lid(lang, get_npc_random_answer(npc,1).TEXT_LID)
return data
def generateNpcReactions(npc: tables.Npc) ->list:
return getNpcRandomTraitId(npc)
return get_npc_random_trait_id(npc)
def generatePlaceData(npcs: list, places: list, lang: str) -> dict:
def generate_place_data(npcs: list, places: list, lang: str) -> dict:
data = {}
random.shuffle(npcs)
for place in places:
placedata = data[str(place.PLACE_ID)] = {}
placedata["name"] = getTextFromLid(lang,place.NAME_LID)
placedata["name"] = get_text_from_lid(lang,place.NAME_LID)
placedata["npcs"] = []
for _ in npcs:
placedata["npcs"].append(npcs.pop().NPC_ID)
@ -227,7 +227,7 @@ def generateGameData(LANG):
reactions_table = {}
npcs = []
while len(npcs) != 5:
npc = getRandomNpc()
npc = get_random_npc()
if npc not in npcs :
npcs.append(npc)
for npc in npcs:
@ -236,15 +236,15 @@ def generateGameData(LANG):
places = []
while len(places) != 3:
place = getRandomPlace()
place = get_random_place()
if place not in places:
places.append(place)
data["rooms"] = generatePlaceData(npcs,places,LANG)
data["rooms"] = generate_place_data(npcs,places,LANG)
data["questions"] = {}
data["questions"]["QA_0"] = getTextFromLid("FR",getRandomQuestion(0).TEXT_LID)
data["questions"]["QA_1"] = getTextFromLid("FR",getRandomQuestion(1).TEXT_LID)
data["traits"] = getTraits(LANG)
data["questions"]["QA_0"] = get_text_from_lid("FR",get_random_question(0).TEXT_LID)
data["questions"]["QA_1"] = get_text_from_lid("FR",get_random_question(1).TEXT_LID)
data["traits"] = get_traits(LANG)
return data, reactions_table
def read_image(path:str):
@ -253,8 +253,8 @@ def read_image(path:str):
except:
return 1
def getTraitIdFromString(trait):
return getTraitFromText(trait)
def get_trait_id_from_string(trait):
return get_trait_from_text(trait)
def get_npc_image(npc_id):
return read_image(f"./truthseeker/static/images/npc/{npc_id}/0.png")

View File

@ -1,5 +1,7 @@
import flask
import json
import flask
from truthseeker import APP
from truthseeker.logic import game_logic

View File

@ -1,9 +1,11 @@
from flask_socketio import join_room
import socketio
from flask_socketio import join_room
from truthseeker import APP
from truthseeker.logic import game_logic
@APP.socketio_app.on('connect')
def connect(auth):
if not (auth and "game_id" in auth):

View File

@ -1,7 +1,5 @@
import flask
from truthseeker.logic import game_logic
routes_ui = flask.Blueprint("ui", __name__)