54 lines
1.9 KiB
Python
54 lines
1.9 KiB
Python
import error_to_log
|
||
import working_database
|
||
import parse_saby
|
||
from validation import DataValid
|
||
import scheduler
|
||
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() |