Data system refactor and core redesign for public.

Redesigned data and core systems to be public-capable.
This commit is contained in:
2021-09-12 11:04:49 +03:00
parent 459a728968
commit 0183b63c55
33 changed files with 1170 additions and 790 deletions

30
bot/data/cursor.py Normal file
View File

@@ -0,0 +1,30 @@
import logging
from psycopg2.extras import DictCursor, _ext
from meta import log
class DictLoggingCursor(DictCursor):
def log(self):
msg = self.query
if isinstance(msg, bytes):
msg = msg.decode(_ext.encodings[self.connection.encoding], 'replace')
log(
msg,
context="DATABASE_QUERY",
level=logging.DEBUG,
post=False
)
def execute(self, query, vars=None):
try:
return super().execute(query, vars)
finally:
self.log()
def callproc(self, procname, vars=None):
try:
return super().callproc(procname, vars)
finally:
self.log()