Remove CoinMarketCap, add CoinDesk, add bases and quotes.

This commit is contained in:
Chris Berkhout 2021-04-12 17:58:54 +02:00
parent 2841d5b8f1
commit bed7db7ee7
5 changed files with 47 additions and 21 deletions

View file

@ -26,6 +26,8 @@ def cmd_source(args):
print(f'Name : {source.name()}')
print(f'Description : {source.description()}')
print(f'URL : {source.source_url()}')
print(f'Bases : {", ".join(source.bases())}')
print(f'Quotes : {", ".join(source.quotes())}')
pass
def build_parser():

View file

@ -0,0 +1,32 @@
import json
import requests
class CoinDesk():
@staticmethod
def id():
return 'coindesk'
@staticmethod
def name():
return 'CoinDesk Bitcoin Price Index'
@staticmethod
def description():
return 'An average of bitcoin prices across leading global exchanges. Powered by CoinDesk, https://www.coindesk.com/price/bitcoin'
@staticmethod
def source_url():
return 'https://www.coindesk.com/coindesk-api'
@staticmethod
def bases():
return ['BTC']
@staticmethod
def quotes():
url = 'https://api.coindesk.com/v1/bpi/supported-currencies.json'
response = requests.get(url)
data = json.loads(response.content)
symbols = sorted([item['currency'] for item in data])
return symbols

View file

@ -1,19 +0,0 @@
class CoinMarketCap():
@staticmethod
def id():
return 'coinmarketcap'
@staticmethod
def name():
return 'CoinMarketCap'
@staticmethod
def description():
return 'CoinMarketCap historical price data'
@staticmethod
def source_url():
return 'https://coinmarketcap.com/'

View file

@ -15,3 +15,14 @@ class ECB():
@staticmethod
def source_url():
return 'https://www.ecb.europa.eu/stats/exchange/eurofxref/html/index.en.html'
@staticmethod
def bases():
return ['EUR']
@staticmethod
def quotes():
return ['AUD', 'BGN', 'BRL', 'CAD', 'CHF', 'CNY', 'CZK', 'DKK', 'GBP',
'HKD', 'HRK', 'HUF', 'IDR', 'ILS', 'INR', 'ISK', 'JPY', 'KRW',
'MXN', 'MYR', 'NOK', 'NZD', 'PHP', 'PLN', 'RON', 'RUB', 'SEK',
'SGD', 'THB', 'TRY', 'USD', 'ZAR']

View file

@ -1,7 +1,7 @@
from .CoinMarketCap import CoinMarketCap
from .CoinDesk import CoinDesk
from .ECB import ECB
by_id = {
CoinMarketCap.id(): CoinMarketCap,
CoinDesk.id(): CoinDesk,
ECB.id(): ECB
}