main_func, улучшения
This commit is contained in:
parent
7e29307f2f
commit
65132e1017
|
|
@ -1,2 +1,3 @@
|
|||
files.*
|
||||
*.log
|
||||
*.log
|
||||
*.pyc
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
from settings.logger import log_function_call, logger
|
||||
from utils import sql_insert
|
||||
|
||||
|
||||
class MAIN_FUNC:
|
||||
def __init__(self):
|
||||
self.self = self
|
||||
|
||||
@log_function_call
|
||||
def create_log(self, data):
|
||||
t = 'INSERT INTO sites_logs (site, page, data) VALUES (%s, %s, %s)'
|
||||
v = (data['site'], data['page'], data['data'])
|
||||
try:
|
||||
res = sql_insert(t, v)
|
||||
return True
|
||||
except SystemError as e:
|
||||
print(e)
|
||||
return False
|
||||
|
||||
|
||||
logger.info('START | 3/4 | Load main_func')
|
||||
main_func = MAIN_FUNC()
|
||||
logger.info('START | 4/4 | Success!')
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
from utils import *
|
||||
from main_func import main_func
|
||||
|
||||
data = {
|
||||
'page': 'testing',
|
||||
'site': 'test_work',
|
||||
'data': (1, 23, 'vok1no', (1, 2, 3))
|
||||
}
|
||||
r = main_func.create_log(data)
|
||||
print(r)
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
import mysql.connector as mysql
|
||||
import os
|
||||
# from dotenv import load_dotenv
|
||||
# load_dotenv()
|
||||
# print(os.getenv('DB_HOST'), os.getenv('DB_USER'), os.getenv('DB_PW'))
|
||||
|
||||
host = '81.19.136.150'
|
||||
user = 'root'
|
||||
passwd = '12323121231'
|
||||
import traceback
|
||||
|
||||
try:
|
||||
import mysql.connector as mysql
|
||||
l = mysql.connect(
|
||||
host=host,
|
||||
user=user,
|
||||
password=passwd,
|
||||
database='vok1no'
|
||||
)
|
||||
print(l)
|
||||
print("Подключение успешно")
|
||||
except Exception as e:
|
||||
print("Произошла ошибка:")
|
||||
traceback.print_exc()
|
||||
56
utils.py
56
utils.py
|
|
@ -2,12 +2,14 @@ import os
|
|||
from dotenv import load_dotenv
|
||||
import mysql.connector
|
||||
import json
|
||||
import functools
|
||||
from settings.logger import log_function_call, logger
|
||||
|
||||
logger.info('START | 0/4 | Load dotenv')
|
||||
|
||||
load_dotenv()
|
||||
|
||||
try:
|
||||
logger.info('START | 1/4 | Load DB')
|
||||
mydb = mysql.connector.connect(
|
||||
host=os.getenv('DB_HOST'),
|
||||
user=os.getenv('DB_USER'),
|
||||
|
|
@ -18,6 +20,7 @@ except mysql.connector.Error as e:
|
|||
print(f"Ошибка при подключении к БД: {e}")
|
||||
mydb = None
|
||||
|
||||
logger.info('START | 2/4 | Load sql functions')
|
||||
@log_function_call
|
||||
def update_sql_connect():
|
||||
global mydb # Указываем, что используем глобальную переменную
|
||||
|
|
@ -58,9 +61,16 @@ def sql_insert(sql, val=None):
|
|||
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)
|
||||
# Преобразуем все вложенные структуры в JSON
|
||||
processed_val = []
|
||||
for item in val:
|
||||
if isinstance(item, (list, tuple, dict)):
|
||||
processed_val.append(json.dumps(item))
|
||||
else:
|
||||
processed_val.append(item)
|
||||
|
||||
new_cursor.execute(sql, processed_val)
|
||||
|
||||
mydb.commit()
|
||||
data = new_cursor.lastrowid
|
||||
new_cursor.close()
|
||||
|
|
@ -93,29 +103,31 @@ def sql_update(sql, val=None):
|
|||
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'])
|
||||
# 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_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)
|
||||
# try:
|
||||
# res = sql_select('SELECT * FROM sites_logs')
|
||||
# print(len(res))
|
||||
# except SystemError as e:
|
||||
# print(e)
|
||||
|
||||
|
||||
@log_function_call
|
||||
def test_error():
|
||||
result = 10 / 0
|
||||
return result
|
||||
# @log_function_call
|
||||
# def test_error():
|
||||
# result = 10 / 0
|
||||
# return result
|
||||
|
||||
update_sql_connect()
|
||||
test_error()
|
||||
|
||||
# update_sql_connect()
|
||||
# test_error()
|
||||
Loading…
Reference in New Issue