python-gallery/packages/onlylegsDB.py
Michał f730ecd0c9 Start on Upload page
Remove reduntant Exiting text
Rename css folder to theme
2023-01-08 22:27:01 +00:00

92 lines
3.3 KiB
Python

import datetime
now = datetime.datetime.now()
import sys
import os
class DBmanager():
def __init__(self):
try:
import mysql.connector
from mysql.connector import Error
from dotenv import load_dotenv
except ImportError:
print("Error: could not import required packages")
sys.exit(1)
env_path = os.path.join('usr', '.env')
if not os.path.exists(env_path):
print("Error: could not find .env file")
sys.exit(1)
load_dotenv(env_path)
print(f"{now.hour}:{now.minute}:{now.second} - Connecting to database...")
try:
database = mysql.connector.connect(host=os.environ.get('DB_HOST'),
port=os.environ.get('DB_PORT'),
database=os.environ.get('DB_NAME'),
user=os.environ.get('DB_USER'),
password=os.environ.get('DB_PASS')
)
if database.is_connected():
db_Info = database.get_server_info()
print("Connected to MySQL Server version:", db_Info)
cursor = database.cursor()
cursor.execute("select database();")
record = cursor.fetchone()
print("Connected to database:", record[0])
print(f"{now.hour}:{now.minute}:{now.second} - Done!\n")
except Error as e:
print("Error while connecting to Database!\nFull error:", e)
sys.exit(1)
self.database = database
def initialize(self):
if not os.path.exists(os.path.join('packages', 'tables', 'generate.sql')):
print("Error: could not find tables directory")
sys.exit(1)
else:
print(f"{now.hour}:{now.minute}:{now.second} - Initializing tables...")
with open(os.path.join('packages', 'tables', 'generate.sql'), 'r') as sql:
cursor = self.database.cursor()
query = cursor.execute(sql.read(), multi=True)
i = 0
for res in query:
print(f"Query {i+1}: Affected {res.rowcount} rows")
i += 1
if not os.path.exists(os.path.join('packages', 'tables', 'junctions.sql')):
print("Error: could not find junctions directory")
sys.exit(1)
else:
print(f"{now.hour}:{now.minute}:{now.second} - Initializing junctions...")
with open(os.path.join('packages', 'tables', 'junctions.sql'), 'r') as sql:
cursor = self.database.cursor()
query = cursor.execute(sql.read(), multi=True)
i = 0
for res in query:
print(f"Query {i+1}: Affected {res.rowcount} rows")
i += 1
self.database.commit()
print(f"{now.hour}:{now.minute}:{now.second} - Done!\n")
def getImage(self, id):
sql = "SELECT * FROM posts WHERE id = %s"
img = (id,)
cursor = self.database.cursor()
cursor.execute(sql, img)
return cursor.fetchone()