From a6032d595cac0e2ee7eefd56823fa3e09cac8414 Mon Sep 17 00:00:00 2001 From: vok1no Date: Tue, 14 Oct 2025 11:55:33 +0300 Subject: [PATCH] 123 --- .env | 4 +++ utils.py | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 .env create mode 100644 utils.py diff --git a/.env b/.env new file mode 100644 index 0000000..7e0d8e8 --- /dev/null +++ b/.env @@ -0,0 +1,4 @@ +#database +DB_HOST=81.19.136.150 +DB_USER=root +DB_PW=nR2IeXYm8Afq6rC9c6uX \ No newline at end of file diff --git a/utils.py b/utils.py new file mode 100644 index 0000000..4291bbb --- /dev/null +++ b/utils.py @@ -0,0 +1,85 @@ +import os +from dotenv import load_dotenv +import mysql.connector +import json + +load_dotenv() + +mydb = mysql.connector.connect( + host=os.getenv('DB_HOST'), + user=os.getenv('DB_USER'), + password=os.getenv('DB_PW'), + database='vok1no' # Добавьте имя базы данных +) + +def sql_select(sql, val=None): + try: + with mydb.cursor() as new_cursor: + if val is None: + new_cursor.execute(sql) + else: + new_cursor.execute(sql, val) + data = new_cursor.fetchall() + new_cursor.close() + return data + except mysql.connector.Error as e: + raise SystemError(f'Ошибка sql_select: {str(e)}') + +def sql_insert(sql, val=None): + try: + with mydb.cursor() as new_cursor: + if val is None: + new_cursor.execute(sql) + else: + if isinstance(val[2], list): + val = (val[0], val[1], json.dumps(val[2])) + new_cursor.execute(sql, val) + mydb.commit() + data = new_cursor.lastrowid + new_cursor.close() + return data + except mysql.connector.Error as e: + raise SystemError(f'Ошибка sql_insert: {str(e)}') + +def sql_delete(sql, val=None): + try: + with mydb.cursor() as new_cursor: + if val is None: + new_cursor.execute(sql) + else: + new_cursor.execute(sql, val) + mydb.commit() + new_cursor.close() + return True + except mysql.connector.Error as e: + raise SystemError(f'Ошибка sql_delete: {str(e)}') + +def sql_update(sql, val=None): + try: + with mydb.cursor() as new_cursor: + if val is None: + new_cursor.execute(sql) + else: + new_cursor.execute(sql, val) + mydb.commit() + + return True + except mysql.connector.Error as e: + raise SystemError(f'Ошибка sql_update: {str(e)}') + +# Пример использования +t = 'INSERT INTO sites_logs (site, page, data) VALUES (%s, %s, %s)' +v = ('test', 'vok1no', [1, 'Vok1no', 89913, 0, 1, 'vok']) + +try: + res = sql_insert(t, v) + print(f"ID новой записи: {res}") +except SystemError as e: + print(e) + + +try: + res = sql_select('SELECT * FROM sites_logs') + print(res) +except SystemError as e: + print(e) \ No newline at end of file