Add logging functionality and database interaction in db.py and main.py
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
import mariadb
|
||||
import os
|
||||
import logging
|
||||
|
||||
|
||||
|
||||
#Logging
|
||||
|
||||
logging.basicConfig(
|
||||
filename='app.log', # Log to a file
|
||||
level=logging.DEBUG, # Log everything (DEBUG and above)
|
||||
format='%(asctime)s %(levelname)s %(message)s'
|
||||
)
|
||||
|
||||
logging.info('Application started')
|
||||
try:
|
||||
logging.debug('Debug info here')
|
||||
except Exception as e:
|
||||
logging.exception('An error occurred')
|
||||
|
||||
|
||||
def connect():
|
||||
try:
|
||||
global connection
|
||||
connection = mariadb.connect(user="luggage",
|
||||
password="13579,QsC",
|
||||
host="192.168.1.74",
|
||||
port=3307,
|
||||
database="canada_luggage")
|
||||
print("Connected to MariaDB successfully!")
|
||||
logging.info("Connected to MariaDB successfully!")
|
||||
|
||||
except mariadb.Error as e:
|
||||
print(f"Error connecting to DB: {e}")
|
||||
logging.error("Error connecting")
|
||||
logging.debug(f"Error connecting to DB: {e}")
|
||||
|
||||
def new_part(cloth_type, weigth, pieces):
|
||||
if type(pieces) is not int:
|
||||
print("only ints allowed")
|
||||
logging.error("only ints allowed")
|
||||
else:
|
||||
cursor = connection.cursor()
|
||||
executed = "INSERT INTO luggage (clothes, weigth, pieces) VALUES (?, ?)"
|
||||
executed_data = (cloth_type, weigth, pieces)
|
||||
cursor.execute(executed, executed_data)
|
||||
connection.commit()
|
||||
logging.info("new Insert is in DB")
|
||||
|
||||
def fetch_clothes():
|
||||
cursor = connection.cursor()
|
||||
cursor.execute("SELECT clothes FROM luggage")
|
||||
clothes = [str(row[0]) for row in cursor.fetchall()]
|
||||
logging.info("fetched clothes")
|
||||
return clothes
|
||||
|
||||
def update_weigth(cloth_type, weigth):
|
||||
cursor = connection.cursor()
|
||||
executed = "UPDATE luggage SET weigth = ? WHERE clothes = ?"
|
||||
executed_data = (weigth, cloth_type)
|
||||
cursor.execute(executed, executed_data)
|
||||
connection.commit()
|
||||
logging.info("weigth updated")
|
||||
|
||||
def update_pieces(cloth_type, pieces):
|
||||
if type(pieces) is not int:
|
||||
logging.error("only ints allowed")
|
||||
else:
|
||||
cursor = connection.cursor()
|
||||
executed = "UPDATE luggage SET pieces = ? WHERE clothes = ?"
|
||||
executed_data = (pieces, cloth_type)
|
||||
cursor.execute(executed, executed_data)
|
||||
connection.commit()
|
||||
logging.info("pieces updated")
|
||||
|
||||
def fetch_weigth(cloth_type):
|
||||
cursor = connection.cursor()
|
||||
cursor.execute("SELECT weigth FROM luggage WHERE clothes = ?", (cloth_type,))
|
||||
weigth = cursor.fetchone()[0]
|
||||
logging.info("fetched weigth")
|
||||
return weigth
|
||||
|
||||
def fetch_luggage_weigth():
|
||||
cursor = connection.cursor()
|
||||
cursor.execute("SELECT sum(weigth) FROM luggage")
|
||||
weigth = cursor.fetchone()[0]
|
||||
logging.info("fetched luggage weigth")
|
||||
return weigth
|
||||
|
||||
def fetch_piece(cloth_type):
|
||||
cursor = connection.cursor()
|
||||
cursor.execute("SELECT pieces FROM luggage WHERE clothes = ?", (cloth_type,))
|
||||
pieces = cursor.fetchone()[0]
|
||||
logging.info("fetched luggage pieces")
|
||||
return pieces
|
||||
|
||||
def fetch_all_pieces():
|
||||
cursor = connection.cursor()
|
||||
cursor.execute("SELECT sum(pieces) FROM luggage")
|
||||
pieces = cursor.fetchone()[0]
|
||||
Reference in New Issue
Block a user