-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathourclass.py
More file actions
30 lines (21 loc) · 960 Bytes
/
Copy pathourclass.py
File metadata and controls
30 lines (21 loc) · 960 Bytes
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
import requests
import json
class ConvertException(Exception):
pass
class ValConv:
@staticmethod
def covert_valute(val1, val2, freq):
with open('basevalute.json', 'r') as data:
json_obj = json.load(data)
if val1 == val2:
raise ConvertException('Нельзя вводить одинаковые валюты.')
if val1.upper() not in json_obj:
raise ConvertException(f'Не удалось обработать: {val1}')
if val2.upper() not in json_obj:
raise ConvertException(f'Не удалось обработать: {val2}')
try:
freq = float(freq)
except ValueError:
raise ConvertException(f'Не удалось обработать: {freq}')
r = requests.get(f'https://v6.exchangerate-api.com/v6/820a7e6fb564ea48ea280740/pair/{val1}/{val2}/{freq}')
return json.loads(r.content)['conversion_result']