import mariadb 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(db_user, db_psswd, db_host, db_port, db_name): try: global connection connection = mariadb.connect(user=db_user, password=db_psswd, host=db_host, port=db_port, database=db_name) 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] logging.info("fetched all luggage pieces") return pieces def delete(cloth_type): cursor = connection.cursor() cursor.execute("DELETE FROM luggage WHERE clothes = ?;", (cloth_type,)) logging.critical(f"{cloth_type} was deleted") connection.commit()