import working_database import parse_saby from validation import DataValid import scheduler import app.error_to_log as error_to_log from datetime import datetime import sys 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 main(): start_time = datetime.now() print("Очиcтка лог файла") error_to_log.clear_to_log() 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 = DataValid.validate_data(list_data) print("4/5. Отправка данных в БД") working_database.WorkingDB().data_transfer_in_database(list_data_validated) print("5/5. Вывод записей из лог файла") diff = datetime.now() - start_time print(str(diff).split('.')[0]) if __name__ == "__main__": print("Запуск main.py") if sys.argv[1] == "--scheduler-run": print("=== ЗАПУСК ПЛАНИРОВЩИКОМ ===") main() elif sys.argv[1] == "--first-run": print("=== ПЕРВЫЙ ЗАПУСК ===") main() print("=== АКТИВАЦИЯ ПЛАНИРОВЩИКА ===") scheduler.launch_the_scheduler() else: print("=== ОБЫЧНЫЙ ЗАПУСК ===") main()