пасрсинг без изменение логики
parent
0cf7b9f6d2
commit
ffd2f13643
|
|
@ -4,8 +4,8 @@ from dateutil import parser
|
||||||
|
|
||||||
def parse_data_for_bd(dict_data: dict) -> list[list]:
|
def parse_data_for_bd(dict_data: dict) -> list[list]:
|
||||||
"""
|
"""
|
||||||
Фуннкция приминмает словарь и парсит его в лист листов
|
Фуннкция приминмает словарь и парсит его в лист листов.
|
||||||
для передачи в БД. Каждый лист должен состоять из 6 элементов
|
Каждый лист должен состоять из 6 элементов
|
||||||
"""
|
"""
|
||||||
result_list = []
|
result_list = []
|
||||||
for key_id, value_data in dict_data.items():
|
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:
|
if date_from_str:
|
||||||
date_from = parser.parse(date_from_str).date()
|
date_from = parser.parse(date_from_str).date()
|
||||||
#date_from = str(date_from.strftime('%d.%m.%Y'))
|
|
||||||
else:
|
else:
|
||||||
print(f"Отсутсвует дата: {key_id}: {organ} {names}")
|
print(f"Отсутсвует дата: {key_id}: {organ} {names}")
|
||||||
continue
|
continue
|
||||||
if date_to_str:
|
if date_to_str:
|
||||||
date_to = parser.parse(date_to_str).date()
|
date_to = parser.parse(date_to_str).date()
|
||||||
#date_to = str(date_to.strftime('%d.%m.%Y'))
|
|
||||||
else: date_to = None
|
else: date_to = None
|
||||||
parametrs_list = [int(key_id), organ, names, date_to, date_from, ver]
|
parametrs_list = [int(key_id), organ, names, date_to, date_from, ver]
|
||||||
result_list.append(parametrs_list)
|
result_list.append(parametrs_list)
|
||||||
|
|
|
||||||
|
|
@ -31,10 +31,9 @@ class SimpleDB:
|
||||||
else:
|
else:
|
||||||
raise Exception (f'Unexpected error reading from Vault: {e}')
|
raise Exception (f'Unexpected error reading from Vault: {e}')
|
||||||
|
|
||||||
#TODO: rename +
|
|
||||||
def _create_db_pool_from_vault(self):
|
def _create_db_pool_from_vault(self):
|
||||||
"""
|
"""
|
||||||
Подключение к Vault и получение параметров для подключеник к БД
|
Подключение к Vault и создание пула соеденения.
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
# Подключение к Vault
|
# Подключение к Vault
|
||||||
|
|
@ -80,8 +79,7 @@ class SimpleDB:
|
||||||
DATE_TO in date,
|
DATE_TO in date,
|
||||||
VERS IN VARCHAR2)
|
VERS IN VARCHAR2)
|
||||||
"""
|
"""
|
||||||
if not self.pool:
|
# Данные для БД не могут быть пустыми
|
||||||
raise ValueError(self.pool, "Database pool not initialized")
|
|
||||||
if not list_data:
|
if not list_data:
|
||||||
raise ValueError(list_data, "No data to process")
|
raise ValueError(list_data, "No data to process")
|
||||||
|
|
||||||
|
|
@ -91,17 +89,16 @@ class SimpleDB:
|
||||||
for list_argument_bd in list_data:
|
for list_argument_bd in list_data:
|
||||||
id, organ, names, date_from, date_to, ver = list_argument_bd
|
id, organ, names, date_from, date_to, ver = list_argument_bd
|
||||||
parametrs_list = [id, organ, names, date_to, date_from, ver]
|
parametrs_list = [id, organ, names, date_to, date_from, ver]
|
||||||
print("Отправляемых аргрументов: ", *parametrs_list)
|
print("Отправляемые аргрументы: ", *parametrs_list)
|
||||||
print("Типов данных: ", list(map(type, parametrs_list)))
|
print("Типы данных: ", list(map(type, parametrs_list)))
|
||||||
cursor.callproc('P_RK_GOVERNMENT_REPORTS_INSERS', [
|
cursor.callproc('P_RK_GOVERNMENT_REPORTS_INSERS', [
|
||||||
id,
|
id,
|
||||||
organ,
|
organ,
|
||||||
names,
|
names,
|
||||||
date_from,
|
date_from,
|
||||||
date_to,
|
date_to, # Может быть None
|
||||||
ver,
|
ver,
|
||||||
])
|
])
|
||||||
|
|
||||||
except Error as e:
|
except Error as e:
|
||||||
raise Error(f'Ошибка при отправке данных в БД: {e}')
|
raise Error(f'Ошибка при отправке данных в БД: {e}')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,16 @@
|
||||||
annotated-types==0.7.0
|
|
||||||
anyio==4.10.0
|
|
||||||
beautifulsoup4==4.13.5
|
beautifulsoup4==4.13.5
|
||||||
bs4==0.0.2
|
bs4==0.0.2
|
||||||
certifi==2025.8.3
|
certifi==2025.8.3
|
||||||
cffi==1.17.1
|
cffi==1.17.1
|
||||||
charset-normalizer==3.4.3
|
charset-normalizer==3.4.3
|
||||||
cryptography==45.0.6
|
cryptography==45.0.6
|
||||||
fastapi==0.116.1
|
|
||||||
hvac==2.3.0
|
hvac==2.3.0
|
||||||
idna==3.10
|
idna==3.10
|
||||||
oracledb==3.3.0
|
oracledb==3.3.0
|
||||||
pycparser==2.22
|
pycparser==2.22
|
||||||
pydantic==2.11.7
|
|
||||||
pydantic_core==2.33.2
|
|
||||||
python-dateutil==2.9.0.post0
|
python-dateutil==2.9.0.post0
|
||||||
requests==2.32.5
|
requests==2.32.5
|
||||||
six==1.17.0
|
six==1.17.0
|
||||||
sniffio==1.3.1
|
soupsieve==2.8
|
||||||
soupsieve==2.7
|
|
||||||
starlette==0.47.3
|
|
||||||
typing-inspection==0.4.1
|
|
||||||
typing_extensions==4.15.0
|
typing_extensions==4.15.0
|
||||||
urllib3==2.5.0
|
urllib3==2.5.0
|
||||||
datetime
|
|
||||||
Loading…
Reference in New Issue