0.0.1 init, main page prepare

This commit is contained in:
SDE
2023-11-16 14:38:44 +03:00
parent 894ee6d750
commit 74f7bbb24b
78 changed files with 6198 additions and 21 deletions

View File

@@ -0,0 +1,51 @@
import requests
import json
from datetime import datetime, timedelta
from BaseModels.mailSender import techSendMail
from GeneralApp.temp_data_funcs import *
def get_rate_nb_by_currency_code(code, date=None):
from .nbrb.nbrb_currency_exchange import get_nbrb_rate_by_currency_code
from .alfabank_api.alfabank_api_funcs import get_alfabank_nb_rate_by_currency_code
if code == 'BYN':
return 1
rate = None
request_required = True
try:
tmp_rec = get_tmp_data('currency_rate', code)
if tmp_rec and tmp_rec.json_data:
if 'rate' in tmp_rec.json_data:
# если с момента последнего импорта прошло меньше 30 минут - забираем курс из базы
if datetime.strptime(tmp_rec.json_data['DT'], '%d.%m.%Y %H:%M') + timedelta(
minutes=30) > datetime.now():
rate = tmp_rec.json_data['rate']
if not rate:
# если с последней попытки меньше минуты - отдаем старый курс или None
if tmp_rec.modifiedDT + timedelta(minutes=5) > datetime.now():
if 'rate' in tmp_rec.json_data:
rate = tmp_rec.json_data['rate']
else:
request_required = False
if request_required:
if not rate:
rate = get_alfabank_nb_rate_by_currency_code(code)
# if not rate:
# rate = get_nbrb_rate_by_currency_code(code)
tmp_rec.modifiedDT = datetime.now()
tmp_rec.save()
except Exception as e:
msg = f'<b style="color : red;">!!!!! --- get_rate_nb_by_currency_code error={str(e)}</b>'
print(msg)
techSendMail(msg, 'tE get_rate_nb_by_currency_code error')
return rate