in src/backend/domain/data_providers/alpha_vantage.py [0:0]
def get_dividends(self, symbol: str, start_date: str, end_date: str) -> Tuple[Dict[str, Any], Optional[str]]:
is_fx = False
error_message = None
if "/" in symbol:
is_fx = True
return {
"meta": {
"symbol": symbol,
"interval": "",
"currency": "USD",
"exchange_timezone": "",
"exchange": "",
"mic_code": "",
"type": "",
},
"dividends": [],
}
timeseries_url = self.ALPHAVANTAGE_TIMESERIES_URL_TEMPLATE.substitute(symbol=symbol, api_key=self.api_key)
result = self.get_alphavantage_timeseries(symbol, timeseries_url, start_date, end_date, is_fx)
if "Error Message" in result:
raise DataNotFoundError(
f"Data provider failed on fetch for following symbol\: {symbol} \n With following message\: {result['Error Message']}"
)
if not result:
raise DataNotFoundError(f"Data provider didn't returned any data for following symbol\: {symbol}")
_, split_adjusted_dividends = self.transform_split_adjusted(result)
result = {"meta": result["meta"], "dividends": [div for div in split_adjusted_dividends if div["amount"] != 0.0]}
return result, error_message