breaking change !

update(database): change database ORM

todo: update Admin, Poll and User cogs
This commit is contained in:
Romain J 2020-01-15 22:56:54 +01:00
commit be1e6d24e4
16 changed files with 111 additions and 149 deletions

View file

@ -0,0 +1,6 @@
from .config import Config
from .database import Database
from .extra import *
from .lang import Texts
from .paginator import *
from .version import Version

View file

@ -1,7 +1,7 @@
from .config import Config
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, session
import sqlalchemy
import databases
class Database:
@ -10,8 +10,7 @@ class Database:
postgresql = 'postgresql://{}:{}@{}/{}'.format(
conf_postgresql.get("Username"), conf_postgresql.get("Password"),
conf_postgresql.get("Host"), conf_postgresql.get("DBName"))
self.engine = create_engine(postgresql, echo=False)
Session = sessionmaker()
Session.configure(bind=self.engine)
self.session: session = Session()
self.database = databases.Database(postgresql)
self.metadata = sqlalchemy.MetaData()
self.engine = sqlalchemy.create_engine(str(self.database.url))

View file

@ -1,5 +1,5 @@
from discord.ext import commands
from utils import Config
from utils.functions import Config
class CommandsPlus(commands.Command):

View file

@ -1,8 +1,6 @@
import gettext
from .config import Config
from .database import Database
import json
from utils.models.lang import LangModel
from discord.ext import commands
@ -22,17 +20,10 @@ class Texts:
@staticmethod
def get_locale(ctx):
database = Database(Config("./configs/config.cfg"))
with open('./configs/langs.json') as f:
data = json.load(f)
if ctx is not None:
current = database.session\
.query(LangModel.value)\
.filter(LangModel.key == str(ctx.guild.id))
if current.count() > 0:
return current.one()[0]
default = database.session\
.query(LangModel.value)\
.filter(LangModel.key == 'default')\
.one()[0]
return default
return data.get(str(ctx.guild.id), data['default'])
else:
return data['default']