Require base=BTC for coindesk and base=EUR for ecb.
This commit is contained in:
parent
23be58ae74
commit
494a721ccd
2 changed files with 17 additions and 0 deletions
|
@ -1,5 +1,7 @@
|
||||||
import dataclasses
|
import dataclasses
|
||||||
import json
|
import json
|
||||||
|
import logging
|
||||||
|
import sys
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
@ -45,6 +47,13 @@ class CoinDesk(BaseSource):
|
||||||
]
|
]
|
||||||
|
|
||||||
def fetch(self, series):
|
def fetch(self, series):
|
||||||
|
if series.base != "BTC" or series.quote == "BTC":
|
||||||
|
# BTC is the only valid base. BTC as the quote will return BTC/USD.
|
||||||
|
logging.critical(
|
||||||
|
f"Invalid pair '{'/'.join([series.base, series.quote])}'. "
|
||||||
|
f"Run 'pricehist source {self.id()} --symbols' to list valid pairs."
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
data = self._data(series)
|
data = self._data(series)
|
||||||
prices = []
|
prices = []
|
||||||
for (d, v) in data["bpi"].items():
|
for (d, v) in data["bpi"].items():
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
import dataclasses
|
import dataclasses
|
||||||
|
import logging
|
||||||
|
import sys
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
|
||||||
|
@ -41,6 +43,12 @@ class ECB(BaseSource):
|
||||||
return [(f"EUR/{c}", f"Euro against {iso[c].name}") for c in currencies]
|
return [(f"EUR/{c}", f"Euro against {iso[c].name}") for c in currencies]
|
||||||
|
|
||||||
def fetch(self, series):
|
def fetch(self, series):
|
||||||
|
if series.base != "EUR": # EUR is the only valid base.
|
||||||
|
logging.critical(
|
||||||
|
f"Invalid pair '{'/'.join([series.base, series.quote])}'. "
|
||||||
|
f"Run 'pricehist source {self.id()} --symbols' to list valid pairs."
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
almost_90_days_ago = (datetime.now().date() - timedelta(days=85)).isoformat()
|
almost_90_days_ago = (datetime.now().date() - timedelta(days=85)).isoformat()
|
||||||
root = self._data(series.start < almost_90_days_ago)
|
root = self._data(series.start < almost_90_days_ago)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue