parse_saby/app/main.py

54 lines
1.9 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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()