edit requirements.txt, edit README.md, change to pymysql
This commit is contained in:
@@ -69,6 +69,9 @@ class BadgeGeneratorService:
|
||||
f"--print-to-pdf={output_path.resolve()}",
|
||||
html_path.resolve()
|
||||
], check=True)
|
||||
except FileNotFoundError:
|
||||
logger.error(f"Browser not found. {self.browser_path}")
|
||||
exit(-1)
|
||||
finally:
|
||||
html_path.unlink(missing_ok=True)
|
||||
|
||||
|
||||
+19
-21
@@ -1,7 +1,7 @@
|
||||
import logging
|
||||
import tomllib
|
||||
import aiomysql
|
||||
from typing import Optional
|
||||
import pymysql
|
||||
from typing import Optional, List, Dict
|
||||
|
||||
logger = logging.getLogger(__name__.split(".")[-1])
|
||||
|
||||
@@ -12,30 +12,28 @@ class DatabaseService:
|
||||
config = tomllib.load(f)
|
||||
|
||||
self.db_config = config["database"]
|
||||
self._pool: Optional[aiomysql.Pool] = None
|
||||
self._conn: Optional[pymysql.Connection] = None
|
||||
|
||||
async def init_db_pool(self):
|
||||
self._pool = await aiomysql.create_pool(
|
||||
def init_db(self):
|
||||
self._conn = pymysql.connect(
|
||||
host=self.db_config["db_host"],
|
||||
port=self.db_config["db_port"],
|
||||
user=self.db_config["db_user"],
|
||||
password=self.db_config["db_password"],
|
||||
db=self.db_config["db_name"],
|
||||
minsize=1,
|
||||
maxsize=40,
|
||||
autocommit=True
|
||||
)
|
||||
database=self.db_config["db_name"],
|
||||
cursorclass=pymysql.cursors.DictCursor)
|
||||
logger.info("Connected to database.")
|
||||
|
||||
async def get_user_badges(self) -> list:
|
||||
async with self._pool.acquire() as conn:
|
||||
async with conn.cursor(aiomysql.DictCursor) as cursor:
|
||||
await cursor.execute(
|
||||
"""SELECT u.user_id, u.user_name, s.seat_id, upp.picture
|
||||
FROM users AS u
|
||||
LEFT JOIN seats AS s
|
||||
ON u.user_id = s.`user`
|
||||
LEFT JOIN user_profile_picture AS upp
|
||||
def get_user_badges(self) -> List[Dict]:
|
||||
with self._conn.cursor() as cursor:
|
||||
cursor.execute(
|
||||
"""SELECT u.user_id, u.user_name, s.seat_id, upp.picture
|
||||
FROM users AS u
|
||||
LEFT JOIN seats AS s
|
||||
ON u.user_id = s.`user`
|
||||
LEFT JOIN user_profile_picture AS upp
|
||||
ON u.user_id = upp.user_id;"""
|
||||
)
|
||||
return await cursor.fetchall()
|
||||
)
|
||||
user_badges = cursor.fetchall()
|
||||
logger.info(f"Got {len(user_badges)} user badges from database.")
|
||||
return user_badges
|
||||
|
||||
Reference in New Issue
Block a user