import working_database import parse_saby from validation import DataValid import scheduler print("Зпуск main.py") def parse_data_in_list(dict_data: dict) -> list: """ argument: [{128513: ('fns', 'Уведомление о налогах для ЕНП', '01.07.22', None, '5.03')}, {...}] return: [[128513, 'fns', 'Уведомление о налогах для ЕНП', '01.07.22', None, '5.03'], [...]] """ result = [] for key_id, value_data in dict_data.items(): if len(value_data) != 5: continue result.append([key_id, *value_data]) return result def validate_data(list_data: list[list]) -> list: """ Функция принимает список списков, выполняет парсинг и валидацию с пмошью класса DataValid из файла validation.py. Возвращает распршеный валидный список словарей для БД. """ result = [] for intem_list in list_data: try: validated_data = DataValid.from_list(intem_list) # Передаем один лист result.append(validated_data.model_dump()) # Добаляем валидный и распаршеный словарь except: continue return result print("1/5. Запуск парсинга сайта") result_dict_data = parse_saby.process_reports_parse() print('2/5. Предварительный парсинг') list_data = parse_data_in_list(result_dict_data) print("3/5. Запуск валидации") list_data_validated = validate_data(list_data) print("4/5 Отправка данных в БД") working_database.SimpleDB().data_transfer_in_database(list_data_validated) print("5/5. Запуск планировщика") scheduler.launch_the_scheduler()