main_func, улучшения
This commit is contained in:
parent
7e29307f2f
commit
65132e1017
|
|
@ -1,2 +1,3 @@
|
||||||
files.*
|
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
|
from dotenv import load_dotenv
|
||||||
import mysql.connector
|
import mysql.connector
|
||||||
import json
|
import json
|
||||||
import functools
|
|
||||||
from settings.logger import log_function_call, logger
|
from settings.logger import log_function_call, logger
|
||||||
|
|
||||||
|
logger.info('START | 0/4 | Load dotenv')
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
logger.info('START | 1/4 | Load DB')
|
||||||
mydb = mysql.connector.connect(
|
mydb = mysql.connector.connect(
|
||||||
host=os.getenv('DB_HOST'),
|
host=os.getenv('DB_HOST'),
|
||||||
user=os.getenv('DB_USER'),
|
user=os.getenv('DB_USER'),
|
||||||
|
|
@ -18,6 +20,7 @@ except mysql.connector.Error as e:
|
||||||
print(f"Ошибка при подключении к БД: {e}")
|
print(f"Ошибка при подключении к БД: {e}")
|
||||||
mydb = None
|
mydb = None
|
||||||
|
|
||||||
|
logger.info('START | 2/4 | Load sql functions')
|
||||||
@log_function_call
|
@log_function_call
|
||||||
def update_sql_connect():
|
def update_sql_connect():
|
||||||
global mydb # Указываем, что используем глобальную переменную
|
global mydb # Указываем, что используем глобальную переменную
|
||||||
|
|
@ -58,9 +61,16 @@ def sql_insert(sql, val=None):
|
||||||
if val is None:
|
if val is None:
|
||||||
new_cursor.execute(sql)
|
new_cursor.execute(sql)
|
||||||
else:
|
else:
|
||||||
if isinstance(val[2], list):
|
# Преобразуем все вложенные структуры в JSON
|
||||||
val = (val[0], val[1], json.dumps(val[2]))
|
processed_val = []
|
||||||
new_cursor.execute(sql, 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()
|
mydb.commit()
|
||||||
data = new_cursor.lastrowid
|
data = new_cursor.lastrowid
|
||||||
new_cursor.close()
|
new_cursor.close()
|
||||||
|
|
@ -93,29 +103,31 @@ def sql_update(sql, val=None):
|
||||||
return True
|
return True
|
||||||
except mysql.connector.Error as e:
|
except mysql.connector.Error as e:
|
||||||
raise SystemError(f'Ошибка sql_update: {str(e)}')
|
raise SystemError(f'Ошибка sql_update: {str(e)}')
|
||||||
|
|
||||||
|
|
||||||
# Пример использования
|
# Пример использования
|
||||||
t = 'INSERT INTO sites_logs (site, page, data) VALUES (%s, %s, %s)'
|
# t = 'INSERT INTO sites_logs (site, page, data) VALUES (%s, %s, %s)'
|
||||||
v = ('test', 'vok1no', [1, 'Vok1no', 89913, 0, 1, 'vok'])
|
# v = ('test', 'vok1no', [1, 'Vok1no', 89913, 0, 1, 'vok'])
|
||||||
|
|
||||||
try:
|
# try:
|
||||||
res = sql_insert(t, v)
|
# res = sql_insert(t, v)
|
||||||
print(f"ID новой записи: {res}")
|
# print(f"ID новой записи: {res}")
|
||||||
except SystemError as e:
|
# except SystemError as e:
|
||||||
print(e)
|
# print(e)
|
||||||
|
|
||||||
|
|
||||||
try:
|
# try:
|
||||||
res = sql_select('SELECT * FROM sites_logs')
|
# res = sql_select('SELECT * FROM sites_logs')
|
||||||
print(res)
|
# print(len(res))
|
||||||
except SystemError as e:
|
# except SystemError as e:
|
||||||
print(e)
|
# print(e)
|
||||||
|
|
||||||
|
|
||||||
@log_function_call
|
# @log_function_call
|
||||||
def test_error():
|
# def test_error():
|
||||||
result = 10 / 0
|
# result = 10 / 0
|
||||||
return result
|
# return result
|
||||||
|
|
||||||
update_sql_connect()
|
|
||||||
test_error()
|
# update_sql_connect()
|
||||||
|
# test_error()
|
||||||
Loading…
Reference in New Issue