-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcurrency.py
More file actions
38 lines (28 loc) · 852 Bytes
/
Copy pathcurrency.py
File metadata and controls
38 lines (28 loc) · 852 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
31
32
33
34
35
36
37
38
import requests
from dotenv import load_dotenv
import os
import json
load_dotenv()
API_KEY = os.getenv('FREE_CURRENCY_API_KEY')
BASE_URL = f"{os.getenv('FREE_CURRENCY_BASE_URL')}{API_KEY}"
CURRENCIES = ["USD", "CAD", "SGD", "EUR", "AUD"]
def convert_currency(base):
currencies = ",".join(CURRENCIES)
url = f"{BASE_URL}&base_currency={base}¤cies={currencies}"
try:
response = requests.get(url)
data = response.json()
return data['data']
except KeyError as e:
print(f"invalid currency {base}: {e}")
return None
while True:
base = input("Enter base currency (Q for quit): ").upper()
if base == 'Q':
break
data = convert_currency(base)
if not data:
continue
del data[base]
for ticker, value in data.items():
print(f"{ticker}: {value}")