From 656b6f61bbac6e4c4e4dc2c1f0c6ce04b0227b9d Mon Sep 17 00:00:00 2001 From: serty Date: Thu, 2 May 2024 07:11:26 +0300 Subject: [PATCH] fix 0.1.0 --- .gitignore | 5 +++-- app.py | 24 ++++++++++++++---------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index b085649..e0ab011 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ -/.venv +.venv .env -docker-compose.yml \ No newline at end of file +docker-compose.yml +*.db \ No newline at end of file diff --git a/app.py b/app.py index 7af781d..50bb880 100644 --- a/app.py +++ b/app.py @@ -6,7 +6,9 @@ import requests import sys from dateutil import parser import schedule +# from dotenv import load_dotenv +# load_dotenv() def post(url, params): response = requests.post(url, params=params) @@ -14,9 +16,9 @@ def post(url, params): return sys.stdout.write("Успешно добавлено\n") elif response.status_code == 200: return response.text - else: - sys.stderr.write("Ошибка при загрузке данных: {}\n".format(response.status_code)) - return None + elif response.status_code == 500: + sys.stderr.write("Ошибка подключения: " + str.strip(response.text) + '\n') + sys.exit(1) def create_table(type): #Создаём пустую таблицу @@ -91,15 +93,14 @@ def importFromServiceDesk(sd_data): conn.commit() conn.close() + def update_sd_table(): url = 'https://myhoreca.itsm365.com/sd/services/rest/find/objectBase$FR' params = {'accessKey': os.getenv('SDKEY'), 'attrs': 'UUID,FRSerialNumber,RNKKT,KKTRegDate,FNExpireDate,FNNumber,owner,FRDownloader,LegalName,OFDName,ModelKKT,FFD'} response = post(url, params) if response: importFromServiceDesk(response) - sys.stdout.write("База из SD обновлена успешно.\n") - else: - sys.stderr.write("Ошибка при получении данных: {}\n".format(response.status_code)) + def compare_and_update(): conn_sd = sqlite3.connect(os.getenv("BDPATH") + 'fiscals.db') @@ -126,7 +127,10 @@ def compare_and_update(): if sd_date != pos_date: sys.stdout.write(f"Объект с UUID {sd_entry[12]} будет изменен.\n") formatted_date = pos_date.strftime('%Y.%m.%d %H:%M:%S') - legalName = pos_entry[3] + ' ' + 'ИНН:' + pos_entry[11] + if 'ИНН:' not in pos_entry[3]: + legalName = pos_entry[3] + ' ' + 'ИНН:' + pos_entry[11] + else: + legalName = pos_entry[3] edit_url = f'https://myhoreca.itsm365.com/sd/services/rest/edit/{sd_entry[12]}' params = {'accessKey': os.getenv('SDKEY'), 'FNNumber': pos_entry[4], 'FNExpireDate': formatted_date, 'LegalName': legalName, 'RNKKT': pos_entry[2], 'FRDownloader': pos_entry[8]} post(edit_url, params) @@ -135,9 +139,9 @@ def compare_and_update(): conn_sd.close() def run_tasks(): - schedule.every(15).seconds.do(process_json_files, os.getenv('JSONPATH')) - schedule.every(15).seconds.do(update_sd_table) - schedule.every(15).seconds.do(compare_and_update) + schedule.every(30).minutes.do(update_sd_table) + schedule.every(30).minutes.do(compare_and_update) + schedule.every(30).minutes.do(process_json_files, os.getenv('JSONPATH')) while True: schedule.run_pending()