diff --git a/app/main.py b/app/main.py index 78bc85f..c8fa162 100644 --- a/app/main.py +++ b/app/main.py @@ -4,8 +4,8 @@ from dateutil import parser def parse_data_for_bd(dict_data: dict) -> list[list]: """ - Фуннкция приминмает словарь и парсит его в лист листов - для передачи в БД. Каждый лист должен состоять из 6 элементов + Фуннкция приминмает словарь и парсит его в лист листов. + Каждый лист должен состоять из 6 элементов """ result_list = [] for key_id, value_data in dict_data.items(): @@ -15,13 +15,11 @@ def parse_data_for_bd(dict_data: dict) -> list[list]: # Парсим даты if date_from_str: date_from = parser.parse(date_from_str).date() - #date_from = str(date_from.strftime('%d.%m.%Y')) else: print(f"Отсутсвует дата: {key_id}: {organ} {names}") continue if date_to_str: date_to = parser.parse(date_to_str).date() - #date_to = str(date_to.strftime('%d.%m.%Y')) else: date_to = None parametrs_list = [int(key_id), organ, names, date_to, date_from, ver] result_list.append(parametrs_list) diff --git a/app/working_database.py b/app/working_database.py index f6abff7..3c3a069 100644 --- a/app/working_database.py +++ b/app/working_database.py @@ -31,10 +31,9 @@ class SimpleDB: else: raise Exception (f'Unexpected error reading from Vault: {e}') - #TODO: rename + def _create_db_pool_from_vault(self): """ - Подключение к Vault и получение параметров для подключеник к БД + Подключение к Vault и создание пула соеденения. """ try: # Подключение к Vault @@ -80,28 +79,26 @@ class SimpleDB: DATE_TO in date, VERS IN VARCHAR2) """ - if not self.pool: - raise ValueError(self.pool, "Database pool not initialized") + # Данные для БД не могут быть пустыми if not list_data: raise ValueError(list_data, "No data to process") - + try: with self.pool.acquire() as connection: with connection.cursor() as cursor: for list_argument_bd in list_data: id, organ, names, date_from, date_to, ver = list_argument_bd parametrs_list = [id, organ, names, date_to, date_from, ver] - print("Отправляемых аргрументов: ", *parametrs_list) - print("Типов данных: ", list(map(type, parametrs_list))) + print("Отправляемые аргрументы: ", *parametrs_list) + print("Типы данных: ", list(map(type, parametrs_list))) cursor.callproc('P_RK_GOVERNMENT_REPORTS_INSERS', [ id, - organ, - names, - date_from, - date_to, + organ, + names, + date_from, + date_to, # Может быть None ver, ]) - except Error as e: raise Error(f'Ошибка при отправке данных в БД: {e}') except Exception as e: diff --git a/requirements.txt b/requirements.txt index dde605b..6cb865b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,25 +1,16 @@ -annotated-types==0.7.0 -anyio==4.10.0 beautifulsoup4==4.13.5 bs4==0.0.2 certifi==2025.8.3 cffi==1.17.1 charset-normalizer==3.4.3 cryptography==45.0.6 -fastapi==0.116.1 hvac==2.3.0 idna==3.10 oracledb==3.3.0 pycparser==2.22 -pydantic==2.11.7 -pydantic_core==2.33.2 python-dateutil==2.9.0.post0 requests==2.32.5 six==1.17.0 -sniffio==1.3.1 -soupsieve==2.7 -starlette==0.47.3 -typing-inspection==0.4.1 +soupsieve==2.8 typing_extensions==4.15.0 urllib3==2.5.0 -datetime \ No newline at end of file