Spaces:
Runtime error
Runtime error
import streamlit as st | |
from api import get_currencies | |
from frankfurter import get_latest_rate, get_historical_rate | |
from currency import format_conversion_result | |
from datetime import datetime | |
st.title("Currency Converter") | |
# Fetch available currencies | |
currencies = get_currencies() | |
# Input elements | |
amount = st.number_input("Enter the amount to be converted:", min_value=0.0, value=0.0) | |
from_currency = st.selectbox("From currency:", currencies) | |
to_currency = st.selectbox("To currency:", currencies) | |
# Latest conversion rate button | |
if st.button('Get Latest Rate'): | |
try: | |
rate = get_latest_rate(from_currency, to_currency) | |
inverse_rate = 1 / rate if rate != 0 else 0 | |
converted_amount = amount * rate | |
result = format_conversion_result(datetime.today().strftime('%Y-%m-%d'), from_currency, to_currency, rate, amount, converted_amount, inverse_rate) | |
st.write(result) | |
except Exception as e: | |
st.write(f"Error: {e}") | |
# Historical conversion rate | |
selected_date = st.date_input("Select a historical date:") | |
if st.button('Conversion Rate'): | |
try: | |
rate = get_historical_rate(from_currency, to_currency, selected_date) | |
inverse_rate = 1 / rate if rate != 0 else 0 | |
converted_amount = amount * rate | |
result = format_conversion_result(selected_date, from_currency, to_currency, rate, amount, converted_amount, inverse_rate) | |
st.write(result) | |
except Exception as e: | |
st.write(f"Error: {e}") | |