From c1367bb47e14612c1bd3356fa527081cf85046ad Mon Sep 17 00:00:00 2001 From: Anton Kamalov Date: Fri, 6 Dec 2024 15:11:44 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BE=D0=BF=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BC=D0=BE=D0=B4?= =?UTF-8?q?=D1=83=D0=BB=D1=8F=20=D0=A1=D0=A3=D0=91=D0=94=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=B0=D0=B2=D1=82=D0=BE=D1=80=D0=B8=D0=B7=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App/Auth/__init__.py | 2 +- App/Auth/auth_model.py | 10 +++++++--- App/Auth/db/DBconnect.py | 34 ---------------------------------- App/Auth/db/__init__.py | 0 App/Auth/db/select.py | 12 ------------ App/Auth/db/sql_provider.py | 14 -------------- 6 files changed, 8 insertions(+), 64 deletions(-) delete mode 100644 App/Auth/db/DBconnect.py delete mode 100644 App/Auth/db/__init__.py delete mode 100644 App/Auth/db/select.py delete mode 100644 App/Auth/db/sql_provider.py diff --git a/App/Auth/__init__.py b/App/Auth/__init__.py index 402607f..ed7e55a 100644 --- a/App/Auth/__init__.py +++ b/App/Auth/__init__.py @@ -1,4 +1,4 @@ -from flask import request, Blueprint, render_template, session, current_app, redirect, url_for +from flask import Blueprint, render_template, redirect, url_for, request, session from .auth_model import auth_model auth_bp = Blueprint('auth_bp', __name__, template_folder='templates') diff --git a/App/Auth/auth_model.py b/App/Auth/auth_model.py index 7446ac6..b3cab0b 100644 --- a/App/Auth/auth_model.py +++ b/App/Auth/auth_model.py @@ -1,6 +1,8 @@ from dataclasses import dataclass -from .db.select import select_list -from .db.sql_provider import SQLProvider + +from Database.work import select_list +from Database.sql_provider import SQLProvider + from flask import current_app import os @@ -12,8 +14,10 @@ class InfoRespronse: status: bool def auth_model(input_data) -> InfoRespronse: + db_config = current_app.config['db_config'] + _sql = sql_provider.get('auth.sql', input_data) - user = select_list(current_app.config['db_config'], _sql) + user = select_list(db_config, _sql) if user is None: return InfoRespronse((), error_message = 'Ошибка при подключении к БД', diff --git a/App/Auth/db/DBconnect.py b/App/Auth/db/DBconnect.py deleted file mode 100644 index b335654..0000000 --- a/App/Auth/db/DBconnect.py +++ /dev/null @@ -1,34 +0,0 @@ -import pymysql -from pymysql.err import * -class DBContextManager: - def __init__(self, db_config : dict): - self.db_config = db_config - self.connection = None - self.cursor = None - - def __enter__(self): - try: - self.connection = pymysql.connect( - host=self.db_config['host'], - port=self.db_config['port'], - user=self.db_config['user'], - password=self.db_config['password'], - db=self.db_config['db'] - ) - self.cursor = self.connection.cursor() - return self.cursor - except (OperationalError, KeyError) as err: - print(err.args) - return None - - def __exit__(self, exc_type, exc_val, exc_tb): - if self.connection and self.cursor: - if exc_type: - print(exc_type, '\n', exc_val) - self.connection.rollback() - else: - self.connection.commit() - self.cursor.close() - self.connection.close() - return True - \ No newline at end of file diff --git a/App/Auth/db/__init__.py b/App/Auth/db/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/App/Auth/db/select.py b/App/Auth/db/select.py deleted file mode 100644 index 22cc3e7..0000000 --- a/App/Auth/db/select.py +++ /dev/null @@ -1,12 +0,0 @@ -from .DBconnect import DBContextManager - -def select_list(db_config, sql) -> list: - with DBContextManager(db_config) as cursor: - if cursor is None: - raise ValueError("Cursor not created") - else: - cursor.execute(sql) - result = cursor.fetchall() - schema = [item[0] for item in cursor.description] - lst = [dict(zip(schema, row)) for row in result] - return lst \ No newline at end of file diff --git a/App/Auth/db/sql_provider.py b/App/Auth/db/sql_provider.py deleted file mode 100644 index a3a1855..0000000 --- a/App/Auth/db/sql_provider.py +++ /dev/null @@ -1,14 +0,0 @@ -import os -from string import Template - -class SQLProvider: - def __init__(self, file_path): - self.scripts = {} - for file in os.listdir(file_path): - _sql = open(f'{file_path}/{file}').read() - self.scripts[file] = Template(_sql) - - def get(self, name, params) -> dict: - if name not in self.scripts: - raise ValueError(f'SQL template {name} not found') - return self.scripts[name].substitute(**params) \ No newline at end of file