38 lines
1.5 KiB
Python
38 lines
1.5 KiB
Python
import working_database
|
||
import parse_saby
|
||
from dateutil import parser
|
||
|
||
def parse_data_for_bd(dict_data: dict) -> list[list]:
|
||
"""
|
||
Фуннкция приминмает словарь и парсит его в лист листов
|
||
для передачи в БД. Каждый лист должен состоять из 6 элементов
|
||
"""
|
||
result_list = []
|
||
for key_id, value_data in dict_data.items():
|
||
if len(value_data) != 5:
|
||
continue
|
||
organ, names, date_from_str, date_to_str, ver = value_data
|
||
# Парсим даты
|
||
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)
|
||
return result_list
|
||
|
||
result_dict_data = parse_saby.process_reports_parse()
|
||
list_data = parse_data_for_bd(result_dict_data)
|
||
PushDB = working_database.SimpleDB()
|
||
PushDB.data_transfer_in_database(list_data)
|
||
|
||
if __name__ in "__main__":
|
||
result_dict_data = parse_saby.process_reports_parse()
|
||
list_data = parse_data_for_bd(result_dict_data)
|
||
print(list_data) |