mirror of
https://github.com/freqtrade/freqtrade.git
synced 2026-01-20 05:50:36 +00:00
chore: Simplify coingecko wrapper after update
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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/"
|
||||
|
||||
Reference in New Issue
Block a user