fix 0.1.0
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
/.venv
|
.venv
|
||||||
.env
|
.env
|
||||||
docker-compose.yml
|
docker-compose.yml
|
||||||
|
*.db
|
||||||
22
app.py
22
app.py
@@ -6,7 +6,9 @@ import requests
|
|||||||
import sys
|
import sys
|
||||||
from dateutil import parser
|
from dateutil import parser
|
||||||
import schedule
|
import schedule
|
||||||
|
# from dotenv import load_dotenv
|
||||||
|
|
||||||
|
# load_dotenv()
|
||||||
|
|
||||||
def post(url, params):
|
def post(url, params):
|
||||||
response = requests.post(url, params=params)
|
response = requests.post(url, params=params)
|
||||||
@@ -14,9 +16,9 @@ def post(url, params):
|
|||||||
return sys.stdout.write("Успешно добавлено\n")
|
return sys.stdout.write("Успешно добавлено\n")
|
||||||
elif response.status_code == 200:
|
elif response.status_code == 200:
|
||||||
return response.text
|
return response.text
|
||||||
else:
|
elif response.status_code == 500:
|
||||||
sys.stderr.write("Ошибка при загрузке данных: {}\n".format(response.status_code))
|
sys.stderr.write("Ошибка подключения: " + str.strip(response.text) + '\n')
|
||||||
return None
|
sys.exit(1)
|
||||||
|
|
||||||
def create_table(type):
|
def create_table(type):
|
||||||
#Создаём пустую таблицу
|
#Создаём пустую таблицу
|
||||||
@@ -91,15 +93,14 @@ def importFromServiceDesk(sd_data):
|
|||||||
conn.commit()
|
conn.commit()
|
||||||
conn.close()
|
conn.close()
|
||||||
|
|
||||||
|
|
||||||
def update_sd_table():
|
def update_sd_table():
|
||||||
url = 'https://myhoreca.itsm365.com/sd/services/rest/find/objectBase$FR'
|
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'}
|
params = {'accessKey': os.getenv('SDKEY'), 'attrs': 'UUID,FRSerialNumber,RNKKT,KKTRegDate,FNExpireDate,FNNumber,owner,FRDownloader,LegalName,OFDName,ModelKKT,FFD'}
|
||||||
response = post(url, params)
|
response = post(url, params)
|
||||||
if response:
|
if response:
|
||||||
importFromServiceDesk(response)
|
importFromServiceDesk(response)
|
||||||
sys.stdout.write("База из SD обновлена успешно.\n")
|
|
||||||
else:
|
|
||||||
sys.stderr.write("Ошибка при получении данных: {}\n".format(response.status_code))
|
|
||||||
|
|
||||||
def compare_and_update():
|
def compare_and_update():
|
||||||
conn_sd = sqlite3.connect(os.getenv("BDPATH") + 'fiscals.db')
|
conn_sd = sqlite3.connect(os.getenv("BDPATH") + 'fiscals.db')
|
||||||
@@ -126,7 +127,10 @@ def compare_and_update():
|
|||||||
if sd_date != pos_date:
|
if sd_date != pos_date:
|
||||||
sys.stdout.write(f"Объект с UUID {sd_entry[12]} будет изменен.\n")
|
sys.stdout.write(f"Объект с UUID {sd_entry[12]} будет изменен.\n")
|
||||||
formatted_date = pos_date.strftime('%Y.%m.%d %H:%M:%S')
|
formatted_date = pos_date.strftime('%Y.%m.%d %H:%M:%S')
|
||||||
|
if 'ИНН:' not in pos_entry[3]:
|
||||||
legalName = pos_entry[3] + ' ' + 'ИНН:' + pos_entry[11]
|
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]}'
|
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]}
|
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)
|
post(edit_url, params)
|
||||||
@@ -135,9 +139,9 @@ def compare_and_update():
|
|||||||
conn_sd.close()
|
conn_sd.close()
|
||||||
|
|
||||||
def run_tasks():
|
def run_tasks():
|
||||||
schedule.every(15).seconds.do(process_json_files, os.getenv('JSONPATH'))
|
schedule.every(30).minutes.do(update_sd_table)
|
||||||
schedule.every(15).seconds.do(update_sd_table)
|
schedule.every(30).minutes.do(compare_and_update)
|
||||||
schedule.every(15).seconds.do(compare_and_update)
|
schedule.every(30).minutes.do(process_json_files, os.getenv('JSONPATH'))
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
schedule.run_pending()
|
schedule.run_pending()
|
||||||
|
|||||||
Reference in New Issue
Block a user