-
Notifications
You must be signed in to change notification settings - Fork 0
/
extensions.py
33 lines (28 loc) · 1012 Bytes
/
extensions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import requests
import json
from bot import keys
# from app import value
class APIException(Exception):
pass
class CriptoConverter:
@staticmethod
def convert( q:str, b:str, a:str ):
try:
if q == b:
raise APIException ("Валюты одинаковые")
except APIException:
raise APIException ("Валюты одинаковые")
try:
qT = keys[q]
except KeyError:
raise APIException(f"Не удалось обработать валюту {q}")
try:
bT = keys[b]
except KeyError:
raise APIException(f"Не удалось обработать валюту {b}")
try:
a = float(a)
except ValueError:
raise APIException(f"Неудалось обработать число {a}")
r = requests.get(f'https://min-api.cryptocompare.com/data/price?fsym={qT}&tsyms={bT}')
tot = json.loads(r.content)[keys[b]]