From 971cdbb918595e8a71b47cd174b2e85f34ac40d9 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 18 Nov 2024 07:11:39 +0100 Subject: [PATCH] chore: Simplify coingecko wrapper after update --- freqtrade/util/coin_gecko.py | 19 +++---------------- tests/rpc/test_fiat_convert.py | 8 +++++--- 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/freqtrade/util/coin_gecko.py b/freqtrade/util/coin_gecko.py index f754e9bc0..515e9654f 100644 --- a/freqtrade/util/coin_gecko.py +++ b/freqtrade/util/coin_gecko.py @@ -4,23 +4,10 @@ from pycoingecko import CoinGeckoAPI class FtCoinGeckoApi(CoinGeckoAPI): """ Simple wrapper around pycoingecko's api to support Demo API keys. - """ - __API_URL_BASE = "https://api.coingecko.com/api/v3/" - __PRO_API_URL_BASE = "https://pro-api.coingecko.com/api/v3/" - _api_key: str = "" - def __init__(self, api_key: str = "", *, is_demo=True, retries=5): - super().__init__(retries=retries) - # Don't pass api_key to parent, instead set the header on the session directly - self._api_key = api_key - - if api_key and not is_demo: - self.api_base_url = self.__PRO_API_URL_BASE - self.session.params.update({"x_cg_pro_api_key": api_key}) + if api_key and is_demo: + super().__init__(retries=retries, demo_api_key=api_key) else: - # Use demo api key - self.api_base_url = self.__API_URL_BASE - if api_key: - self.session.params.update({"x_cg_demo_api_key": api_key}) + super().__init__(api_key=api_key, retries=retries) diff --git a/tests/rpc/test_fiat_convert.py b/tests/rpc/test_fiat_convert.py index 061df2e53..4ae7441c8 100644 --- a/tests/rpc/test_fiat_convert.py +++ b/tests/rpc/test_fiat_convert.py @@ -206,14 +206,16 @@ def test_convert_amount(mocker): def test_FtCoinGeckoApi(): ftc = FtCoinGeckoApi() - assert ftc._api_key == "" + assert ftc.extra_params is None assert ftc.api_base_url == "https://api.coingecko.com/api/v3/" # defaults to demo ftc = FtCoinGeckoApi(api_key="123456") - assert ftc._api_key == "123456" + assert ftc.extra_params is not None + assert ftc.extra_params["x_cg_demo_api_key"] == "123456" assert ftc.api_base_url == "https://api.coingecko.com/api/v3/" ftc = FtCoinGeckoApi(api_key="123456", is_demo=False) - assert ftc._api_key == "123456" + assert ftc.extra_params is not None + assert ftc.extra_params["x_cg_pro_api_key"] == "123456" assert ftc.api_base_url == "https://pro-api.coingecko.com/api/v3/"