"""
Module of the connection to MySQL Server for get CONNECTION-object for
manage DataBase (DB).
"""
import datetime
import pymysql
import logging
[docs]class Connection:
"""
Class for the connection to database (MySQL).
"""
[docs] @staticmethod
async def get_connection(mysql_data: dict) -> pymysql.Connection | str:
"""
Get connection for manage the DB.
:param mysql_data: MySQL Data.
:type mysql_data: Dict.
:return: Connection to DB (otherwise: str about error).
"""
try:
connection: pymysql.Connection = pymysql.Connection(
host=mysql_data["HOST"],
user=mysql_data["USERNAME"],
password=mysql_data["PASSWORD"],
database=mysql_data["DB_NAME"],
port=mysql_data["PORT"]
)
except Exception as ex:
logging.warning(f"No connection to the Database (MySQL) occurred! "
f"The exception has arisen: {ex}")
connection: str = "Error of connection"
logging.info(
"Successful connection to the database (MySQL)"
)
return connection