diff --git a/function/get_chart.py b/function/get_chart.py index a29a36e..5c24938 100644 --- a/function/get_chart.py +++ b/function/get_chart.py @@ -1,22 +1,27 @@ -from http import HTTPStatus - import yaml import requests -from urllib3 import HTTPSConnectionPool +from http import HTTPStatus config = yaml.safe_load(open('config.yaml')) def get_chart(from_currency: str, conv_currency: str) -> (dict, None): try: - res = requests.get(f'{config['kekkai_instance']}/api/getChart/week/', { - 'from_currency': from_currency, - 'conv_currency': conv_currency - }, timeout=3) + response = requests.get(f'{config["kekkai_instance"]}/api/getChart/week/', params={ + 'from_currency': from_currency, + 'conv_currency': conv_currency + }, timeout=3) + + if not HTTPStatus(response.status_code).is_success: + return None + + try: + data = response.json() + return data.get('message', None) + except ValueError: + return None except requests.exceptions.ConnectionError: + print("API connection error.") return None - - if not HTTPStatus(res.status_code).is_success: + except requests.exceptions.RequestException as e: + print(f"There was an error: {e}") return None - - - return res.json().get('message', None) \ No newline at end of file