From 5fd8fdce27650f9d1db983bb76ee589158e444c8 Mon Sep 17 00:00:00 2001 From: montezdesousa Date: Tue, 11 Jul 2023 12:52:54 +0100 Subject: [PATCH] change start_date, end_date defaults --- openbb_providers/builtin_providers/fmp/crypto_eod.py | 10 ++++++---- openbb_providers/builtin_providers/fmp/forex_eod.py | 10 ++++++---- openbb_providers/builtin_providers/fmp/stock_eod.py | 10 ++++++---- .../builtin_providers/polygon/crypto_eod.py | 9 ++++++--- .../builtin_providers/polygon/forex_eod.py | 9 ++++++--- .../builtin_providers/polygon/stock_eod.py | 9 ++++++--- .../openbb_provider/model/data/crypto_eod.py | 11 ++++++++--- .../openbb_provider/model/data/forex_eod.py | 11 +++++++---- .../openbb_provider/model/data/stock_eod.py | 11 ++++++++--- 9 files changed, 59 insertions(+), 31 deletions(-) diff --git a/openbb_providers/builtin_providers/fmp/crypto_eod.py b/openbb_providers/builtin_providers/fmp/crypto_eod.py index 9687f5767c4..3c91c263b7d 100644 --- a/openbb_providers/builtin_providers/fmp/crypto_eod.py +++ b/openbb_providers/builtin_providers/fmp/crypto_eod.py @@ -1,7 +1,7 @@ """FMP Cryptos end of day fetcher.""" # IMPORT STANDARD -from datetime import date, datetime +from datetime import date, datetime, timedelta from typing import Dict, List, Literal, Optional # IMPORT INTERNAL @@ -74,11 +74,13 @@ class FMPCryptoEODFetcher( def transform_query( query: CryptoEODQueryParams, extra_params: Optional[Dict] = None ) -> FMPCryptoEODQueryParams: - raw_end = query.end_date if query.end_date else datetime.now() + now = datetime.now() + start_date = query.start_date if query.start_date else now - timedelta(days=1) + end_date = query.end_date if query.end_date else now return FMPCryptoEODQueryParams( symbol=query.symbol, - start_date=query.start_date, - end_date=raw_end, + start_date=start_date, + end_date=end_date, **extra_params if extra_params else {}, ) diff --git a/openbb_providers/builtin_providers/fmp/forex_eod.py b/openbb_providers/builtin_providers/fmp/forex_eod.py index 5cdfeda0bda..98ac0f05d23 100644 --- a/openbb_providers/builtin_providers/fmp/forex_eod.py +++ b/openbb_providers/builtin_providers/fmp/forex_eod.py @@ -1,7 +1,7 @@ """FMP Forex end of day fetcher.""" # IMPORT STANDARD -from datetime import date, datetime +from datetime import date, datetime, timedelta from typing import Dict, List, Literal, Optional # IMPORT INTERNAL @@ -74,11 +74,13 @@ class FMPForexEODFetcher( def transform_query( query: ForexEODQueryParams, extra_params: Optional[Dict] = None ) -> FMPForexEODQueryParams: - raw_end = query.end_date if query.end_date else datetime.now() + now = datetime.now() + start_date = query.start_date if query.start_date else now - timedelta(days=1) + end_date = query.end_date if query.end_date else now return FMPForexEODQueryParams( symbol=query.symbol, - start_date=query.start_date, - end_date=raw_end, + start_date=start_date, + end_date=end_date, ) @staticmethod diff --git a/openbb_providers/builtin_providers/fmp/stock_eod.py b/openbb_providers/builtin_providers/fmp/stock_eod.py index ea0a01d6da9..07b586159a9 100644 --- a/openbb_providers/builtin_providers/fmp/stock_eod.py +++ b/openbb_providers/builtin_providers/fmp/stock_eod.py @@ -1,7 +1,7 @@ """FMP Stocks end of day fetcher.""" # IMPORT STANDARD -from datetime import date, datetime +from datetime import date, datetime, timedelta from typing import Dict, List, Literal, Optional # IMPORT INTERNAL @@ -74,11 +74,13 @@ class FMPStockEODFetcher( def transform_query( query: StockEODQueryParams, extra_params: Optional[Dict] = None ) -> FMPStockEODQueryParams: - raw_end = query.end_date if query.end_date else datetime.now() + now = datetime.now() + start_date = query.start_date if query.start_date else now - timedelta(days=1) + end_date = query.end_date if query.end_date else now return FMPStockEODQueryParams( symbol=query.symbol, - start_date=query.start_date, - end_date=raw_end, + start_date=start_date, + end_date=end_date, **extra_params if extra_params else {}, ) diff --git a/openbb_providers/builtin_providers/polygon/crypto_eod.py b/openbb_providers/builtin_providers/polygon/crypto_eod.py index e4f36e23ca2..8d0d3840070 100644 --- a/openbb_providers/builtin_providers/polygon/crypto_eod.py +++ b/openbb_providers/builtin_providers/polygon/crypto_eod.py @@ -1,7 +1,7 @@ """Polygon crypto end of day fetcher.""" # IMPORT STANDARD -from datetime import datetime +from datetime import datetime, timedelta from typing import Dict, List, Optional # IMPORT INTERNAL @@ -60,10 +60,13 @@ class PolygonCryptoEODFetcher( def transform_query( query: CryptoEODQueryParams, extra_params: Optional[Dict] = None ) -> PolygonCryptoEODQueryParams: + now = datetime.now() + start_date = query.start_date if query.start_date else now - timedelta(days=1) + end_date = query.end_date if query.end_date else now return PolygonCryptoEODQueryParams( symbol=query.symbol, - start_date=query.start_date, - end_date=query.end_date if query.end_date else datetime.now(), + start_date=start_date, + end_date=end_date, **extra_params if extra_params else {}, ) diff --git a/openbb_providers/builtin_providers/polygon/forex_eod.py b/openbb_providers/builtin_providers/polygon/forex_eod.py index f8f2cfba2b2..3b6adf15b39 100644 --- a/openbb_providers/builtin_providers/polygon/forex_eod.py +++ b/openbb_providers/builtin_providers/polygon/forex_eod.py @@ -1,7 +1,7 @@ """Polygon forex end of day fetcher.""" # IMPORT STANDARD -from datetime import datetime +from datetime import datetime, timedelta from typing import Dict, List, Optional # IMPORT INTERNAL @@ -60,10 +60,13 @@ class PolygonForexEODFetcher( def transform_query( query: ForexEODQueryParams, extra_params: Optional[Dict] = None ) -> PolygonForexEODQueryParams: + now = datetime.now() + start_date = query.start_date if query.start_date else now - timedelta(days=1) + end_date = query.end_date if query.end_date else now return PolygonForexEODQueryParams( symbol=query.symbol, - start_date=query.start_date, - end_date=query.end_date if query.end_date else datetime.now(), + start_date=start_date, + end_date=end_date, **extra_params if extra_params else {}, ) diff --git a/openbb_providers/builtin_providers/polygon/stock_eod.py b/openbb_providers/builtin_providers/polygon/stock_eod.py index f7719b6be05..61e1cb84aa8 100644 --- a/openbb_providers/builtin_providers/polygon/stock_eod.py +++ b/openbb_providers/builtin_providers/polygon/stock_eod.py @@ -1,7 +1,7 @@ """Polygon stocks end of day fetcher.""" # IMPORT STANDARD -from datetime import datetime +from datetime import datetime, timedelta from typing import Dict, List, Optional # IMPORT INTERNAL @@ -60,10 +60,13 @@ class PolygonStockEODFetcher( def transform_query( query: StockEODQueryParams, extra_params: Optional[Dict] = None ) -> PolygonStockEODQueryParams: + now = datetime.now() + start_date = query.start_date if query.start_date else now - timedelta(days=1) + end_date = query.end_date if query.end_date else now return PolygonStockEODQueryParams( symbol=query.symbol, - start_date=query.start_date, - end_date=query.end_date if query.end_date else datetime.now(), + start_date=start_date, + end_date=end_date, **extra_params if extra_params else {}, ) diff --git a/openbb_providers/openbb_provider/model/data/crypto_eod.py b/openbb_providers/openbb_provider/model/data/crypto_eod.py index c6fd25c5633..b4e9a27daab 100644 --- a/openbb_providers/openbb_provider/model/data/crypto_eod.py +++ b/openbb_providers/openbb_provider/model/data/crypto_eod.py @@ -18,15 +18,20 @@ class CryptoEODQueryParams(QueryParams, BaseSymbol): --------- symbol : str The symbol of the company. - start_date : date + start_date : Optional[date] The start date of the stock data from which to retrieve the data. + If None, defaults to yesterday. end_date : Optional[date] The end date of the stock data up to which to retrieve the data. + If None, defaults to today. """ - start_date: date = Field(description=DESCRIPTIONS.get("start_date", "")) + start_date: Optional[date] = Field( + description=DESCRIPTIONS.get("start_date", ""), + default=None, + ) end_date: Optional[date] = Field( - description=DESCRIPTIONS.get("end_date", ""), default=date.today() + description=DESCRIPTIONS.get("end_date", ""), default=None ) diff --git a/openbb_providers/openbb_provider/model/data/forex_eod.py b/openbb_providers/openbb_provider/model/data/forex_eod.py index d8bb72057d5..28974f5c9e8 100644 --- a/openbb_providers/openbb_provider/model/data/forex_eod.py +++ b/openbb_providers/openbb_provider/model/data/forex_eod.py @@ -18,16 +18,19 @@ class ForexEODQueryParams(QueryParams, BaseSymbol): --------- symbol : str The symbol of the company. - start_date : date + start_date : Optional[date] The start date of the stock data from which to retrieve the data. + If None, defaults to yesterday. end_date : Optional[date] The end date of the stock data up to which to retrieve the data. + If None, defaults to today. """ - start_date: date = Field(description=DESCRIPTIONS.get("start_date", "")) - end_date: Optional[date] = Field( - description=DESCRIPTIONS.get("end_date", ""), default=date.today() + start_date: date = Field( + description=DESCRIPTIONS.get("start_date", ""), + default=None, ) + end_date: date = Field(description=DESCRIPTIONS.get("end_date", ""), default=None) class ForexEODData(Data): diff --git a/openbb_providers/openbb_provider/model/data/stock_eod.py b/openbb_providers/openbb_provider/model/data/stock_eod.py index 6aade5523f8..5498801d18a 100644 --- a/openbb_providers/openbb_provider/model/data/stock_eod.py +++ b/openbb_providers/openbb_provider/model/data/stock_eod.py @@ -17,15 +17,20 @@ class StockEODQueryParams(QueryParams, BaseSymbol): --------- symbol : str The symbol of the company. - start_date : date + start_date : Optional[date] The start date of the stock data from which to retrieve the data. + If None, defaults to yesterday. end_date : Optional[date] The end date of the stock data up to which to retrieve the data. + If None, defaults to today. """ - start_date: date = Field(description=DESCRIPTIONS.get("start_date", "")) + start_date: Optional[date] = Field( + description=DESCRIPTIONS.get("start_date", ""), + default=None, + ) end_date: Optional[date] = Field( - description=DESCRIPTIONS.get("end_date", ""), default=date.today() + description=DESCRIPTIONS.get("end_date", ""), default=None )