mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-11-02 23:41:27 +00:00
fix a bunch o polygon models
This commit is contained in:
@@ -56,8 +56,7 @@ class PolygonBalanceSheetFetcher(
|
||||
def extract_data(
|
||||
query: PolygonBalanceSheetQueryParams, credentials: Optional[Dict[str, str]]
|
||||
) -> List[PolygonBalanceSheetData]:
|
||||
if credentials:
|
||||
api_key = credentials.get("polygon_api_key")
|
||||
api_key = credentials.get("polygon_api_key") if credentials else ""
|
||||
|
||||
base_url = "https://api.polygon.io/vX/reference/financials"
|
||||
query_string = get_querystring(query.dict(), [])
|
||||
|
||||
@@ -62,8 +62,8 @@ class PolygonCashFlowStatementFetcher(
|
||||
query: PolygonCashFlowStatementQueryParams,
|
||||
credentials: Optional[Dict[str, str]],
|
||||
) -> List[PolygonCashFlowStatementData]:
|
||||
if credentials:
|
||||
api_key = credentials.get("polygon_api_key")
|
||||
|
||||
api_key = credentials.get("polygon_api_key") if credentials else ""
|
||||
|
||||
base_url = "https://api.polygon.io/vX/reference/financials"
|
||||
query_string = get_querystring(query.dict(), [])
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Dict, List, Literal, Optional
|
||||
from typing import Any, Dict, List, Literal, Optional
|
||||
|
||||
from openbb_provider.abstract.fetcher import Fetcher
|
||||
from openbb_provider.helpers import data_transformer
|
||||
@@ -68,25 +68,23 @@ class PolygonCryptoEODFetcher(
|
||||
]
|
||||
):
|
||||
@staticmethod
|
||||
def transform_query(
|
||||
query: CryptoEODQueryParams, extra_params: Optional[Dict] = None
|
||||
) -> PolygonCryptoEODQueryParams:
|
||||
def transform_query(params: Dict[str, Any]) -> PolygonCryptoEODQueryParams:
|
||||
now = datetime.now().date()
|
||||
start_date = query.start_date or (now - timedelta(days=7))
|
||||
end_date = query.end_date or now
|
||||
return PolygonCryptoEODQueryParams(
|
||||
symbol=query.symbol,
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
**extra_params or {},
|
||||
)
|
||||
transformed_params = params
|
||||
if params.get("start_date") is None:
|
||||
transformed_params["start_date"] = now - timedelta(days=7)
|
||||
|
||||
if params.get("end_date") is None:
|
||||
transformed_params["end_date"] = now
|
||||
|
||||
return PolygonCryptoEODQueryParams(**transformed_params)
|
||||
|
||||
@staticmethod
|
||||
def extract_data(
|
||||
query: PolygonCryptoEODQueryParams, credentials: Optional[Dict[str, str]]
|
||||
) -> List[PolygonCryptoEODData]:
|
||||
if credentials:
|
||||
api_key = credentials.get("polygon_api_key")
|
||||
|
||||
api_key = credentials.get("polygon_api_key") if credentials else ""
|
||||
|
||||
request_url = (
|
||||
f"https://api.polygon.io/v2/aggs/ticker/"
|
||||
@@ -107,5 +105,5 @@ class PolygonCryptoEODFetcher(
|
||||
return [PolygonCryptoEODData(**d) for d in data]
|
||||
|
||||
@staticmethod
|
||||
def transform_data(data: List[PolygonCryptoEODData]) -> List[CryptoEODData]:
|
||||
return data_transformer(data, CryptoEODData)
|
||||
def transform_data(data: List[PolygonCryptoEODData]) -> List[PolygonCryptoEODData]:
|
||||
return data
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Dict, List, Literal, Optional
|
||||
from typing import Any, Dict, List, Literal, Optional
|
||||
|
||||
from openbb_provider.abstract.fetcher import Fetcher
|
||||
from openbb_provider.helpers import data_transformer
|
||||
@@ -68,28 +68,26 @@ class PolygonForexEODFetcher(
|
||||
]
|
||||
):
|
||||
@staticmethod
|
||||
def transform_query(
|
||||
query: ForexEODQueryParams, extra_params: Optional[Dict] = None
|
||||
) -> PolygonForexEODQueryParams:
|
||||
return PolygonForexEODQueryParams(
|
||||
symbol=query.symbol,
|
||||
**extra_params or {},
|
||||
)
|
||||
def transform_query(params: Dict[str, Any]) -> PolygonForexEODQueryParams:
|
||||
now = datetime.now().date()
|
||||
transformed_params = params
|
||||
if params.get("start_date") is None:
|
||||
transformed_params["start_date"] = now - timedelta(days=7)
|
||||
|
||||
if params.get("end_date") is None:
|
||||
transformed_params["end_date"] = now
|
||||
return PolygonForexEODQueryParams(**transformed_params)
|
||||
|
||||
@staticmethod
|
||||
def extract_data(
|
||||
query: PolygonForexEODQueryParams, credentials: Optional[Dict[str, str]]
|
||||
) -> List[PolygonForexEODData]:
|
||||
if credentials:
|
||||
api_key = credentials.get("polygon_api_key")
|
||||
api_key = credentials.get("polygon_api_key") if credentials else ""
|
||||
|
||||
now = datetime.now()
|
||||
start_date = query.start_date or (now - timedelta(days=7)).date()
|
||||
end_date = query.end_date or now.date()
|
||||
request_url = (
|
||||
f"https://api.polygon.io/v2/aggs/ticker/"
|
||||
f"C:{query.symbol}/range/1/{query.timespan}/"
|
||||
f"{start_date}/{end_date}?adjusted={query.adjusted}"
|
||||
f"{query.start_date}/{query.end_date}?adjusted={query.adjusted}"
|
||||
f"&sort={query.sort}&limit={query.limit}&multiplier={query.multiplier}"
|
||||
f"&apiKey={api_key}"
|
||||
)
|
||||
@@ -105,5 +103,5 @@ class PolygonForexEODFetcher(
|
||||
return [PolygonForexEODData(**d) for d in data]
|
||||
|
||||
@staticmethod
|
||||
def transform_data(data: List[PolygonForexEODData]) -> List[ForexEODData]:
|
||||
return data_transformer(data, ForexEODData)
|
||||
def transform_data(data: List[PolygonForexEODData]) -> List[PolygonForexEODData]:
|
||||
return data
|
||||
|
||||
@@ -5,7 +5,7 @@ from datetime import (
|
||||
date as dateType,
|
||||
datetime,
|
||||
)
|
||||
from typing import Dict, List, Literal, Optional
|
||||
from typing import Any, Dict, List, Literal, Optional
|
||||
|
||||
from openbb_provider.abstract.fetcher import Fetcher
|
||||
from openbb_provider.helpers import data_transformer
|
||||
@@ -88,19 +88,14 @@ class PolygonForexPairsFetcher(
|
||||
]
|
||||
):
|
||||
@staticmethod
|
||||
def transform_query(
|
||||
query: ForexPairsQueryParams, extra_params: Optional[Dict] = None
|
||||
) -> PolygonForexPairsQueryParams:
|
||||
return PolygonForexPairsQueryParams(
|
||||
**extra_params or {},
|
||||
)
|
||||
def transform_query(params: Dict[str, Any]) -> PolygonForexPairsQueryParams:
|
||||
return PolygonForexPairsQueryParams(**params)
|
||||
|
||||
@staticmethod
|
||||
def extract_data(
|
||||
query: PolygonForexPairsQueryParams, credentials: Optional[Dict[str, str]]
|
||||
) -> List[PolygonForexPairsData]:
|
||||
if credentials:
|
||||
api_key = credentials.get("polygon_api_key")
|
||||
api_key = credentials.get("polygon_api_key") if credentials else ""
|
||||
|
||||
tickers = f"ticker=C:{query.symbol}" if query.symbol else ""
|
||||
request_url = (
|
||||
@@ -135,5 +130,5 @@ class PolygonForexPairsFetcher(
|
||||
return all_data
|
||||
|
||||
@staticmethod
|
||||
def transform_data(data: List[PolygonForexPairsData]) -> List[ForexPairsData]:
|
||||
return data_transformer(data, ForexPairsData)
|
||||
def transform_data(data: List[PolygonForexPairsData]) -> List[PolygonForexPairsData]:
|
||||
return data
|
||||
|
||||
@@ -73,8 +73,7 @@ class PolygonIncomeStatementFetcher(
|
||||
def extract_data(
|
||||
query: PolygonIncomeStatementQueryParams, credentials: Optional[Dict[str, str]]
|
||||
) -> List[PolygonIncomeStatementData]:
|
||||
if credentials:
|
||||
api_key = credentials.get("polygon_api_key")
|
||||
api_key = credentials.get("polygon_api_key") if credentials else ""
|
||||
|
||||
base_url = "https://api.polygon.io/vX/reference/financials"
|
||||
query_string = get_querystring(query.dict(), [])
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Dict, List, Literal, Optional
|
||||
from typing import Any, Dict, List, Literal, Optional
|
||||
|
||||
from openbb_provider.abstract.fetcher import Fetcher
|
||||
from openbb_provider.helpers import data_transformer
|
||||
@@ -71,25 +71,21 @@ class PolygonMajorIndicesEODFetcher(
|
||||
]
|
||||
):
|
||||
@staticmethod
|
||||
def transform_query(
|
||||
query: MajorIndicesEODQueryParams, extra_params: Optional[Dict] = None
|
||||
) -> PolygonMajorIndicesEODQueryParams:
|
||||
def transform_query(params: Dict[str, Any]) -> PolygonMajorIndicesEODQueryParams:
|
||||
now = datetime.now().date()
|
||||
start_date = query.start_date or (now - timedelta(days=7))
|
||||
end_date = query.end_date or now
|
||||
return PolygonMajorIndicesEODQueryParams(
|
||||
symbol=query.symbol,
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
**extra_params or {},
|
||||
)
|
||||
transformed_params = params
|
||||
if params.get("start_date") is None:
|
||||
transformed_params["start_date"] = now - timedelta(days=7)
|
||||
|
||||
if params.get("end_date") is None:
|
||||
transformed_params["end_date"] = now
|
||||
return PolygonMajorIndicesEODQueryParams(**transformed_params)
|
||||
|
||||
@staticmethod
|
||||
def extract_data(
|
||||
query: PolygonMajorIndicesEODQueryParams, credentials: Optional[Dict[str, str]]
|
||||
) -> List[PolygonMajorIndicesEODData]:
|
||||
if credentials:
|
||||
api_key = credentials.get("polygon_api_key")
|
||||
api_key = credentials.get("polygon_api_key") if credentials else ""
|
||||
|
||||
request_url = (
|
||||
f"https://api.polygon.io/v2/aggs/ticker/"
|
||||
@@ -112,5 +108,5 @@ class PolygonMajorIndicesEODFetcher(
|
||||
@staticmethod
|
||||
def transform_data(
|
||||
data: List[PolygonMajorIndicesEODData],
|
||||
) -> List[MajorIndicesEODData]:
|
||||
return data_transformer(data, MajorIndicesEODData)
|
||||
) -> List[PolygonMajorIndicesEODData]:
|
||||
return data
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Dict, List, Literal, Optional
|
||||
from typing import Any, Dict, List, Literal, Optional
|
||||
|
||||
from openbb_provider.abstract.fetcher import Fetcher
|
||||
from openbb_provider.helpers import data_transformer
|
||||
@@ -68,25 +68,21 @@ class PolygonStockEODFetcher(
|
||||
]
|
||||
):
|
||||
@staticmethod
|
||||
def transform_query(
|
||||
query: StockEODQueryParams, extra_params: Optional[Dict] = None
|
||||
) -> PolygonStockEODQueryParams:
|
||||
def transform_query(params: Dict[str, Any]) -> PolygonStockEODQueryParams:
|
||||
now = datetime.now().date()
|
||||
start_date = query.start_date or (now - timedelta(days=7))
|
||||
end_date = query.end_date or now
|
||||
return PolygonStockEODQueryParams(
|
||||
symbol=query.symbol,
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
**extra_params or {},
|
||||
)
|
||||
transformed_params = params
|
||||
if params.get("start_date") is None:
|
||||
transformed_params["start_date"] = now - timedelta(days=7)
|
||||
|
||||
if params.get("end_date") is None:
|
||||
transformed_params["end_date"] = now
|
||||
return PolygonStockEODQueryParams(**transformed_params)
|
||||
|
||||
@staticmethod
|
||||
def extract_data(
|
||||
query: PolygonStockEODQueryParams, credentials: Optional[Dict[str, str]]
|
||||
) -> List[PolygonStockEODData]:
|
||||
if credentials:
|
||||
api_key = credentials.get("polygon_api_key")
|
||||
api_key = credentials.get("polygon_api_key") if credentials else ""
|
||||
|
||||
request_url = (
|
||||
f"https://api.polygon.io/v2/aggs/ticker/"
|
||||
@@ -107,5 +103,5 @@ class PolygonStockEODFetcher(
|
||||
return [PolygonStockEODData(**d) for d in data]
|
||||
|
||||
@staticmethod
|
||||
def transform_data(data: List[PolygonStockEODData]) -> List[StockEODData]:
|
||||
return data_transformer(data, StockEODData)
|
||||
def transform_data(data: List[PolygonStockEODData]) -> List[PolygonStockEODData]:
|
||||
return data
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Dict, List, Literal, Optional
|
||||
from typing import Any, Dict, List, Literal, Optional
|
||||
|
||||
from openbb_provider.abstract.data import Data
|
||||
from openbb_provider.abstract.fetcher import Fetcher
|
||||
@@ -90,22 +90,15 @@ class PolygonStockNewsFetcher(
|
||||
]
|
||||
):
|
||||
@staticmethod
|
||||
def transform_query(
|
||||
query: StockNewsQueryParams, extra_params: Optional[Dict] = None
|
||||
) -> PolygonStockNewsQueryParams:
|
||||
return PolygonStockNewsQueryParams(
|
||||
ticker=query.symbols,
|
||||
page=query.page,
|
||||
limit=query.limit,
|
||||
**extra_params if extra_params else {},
|
||||
)
|
||||
def transform_query(params: Dict[str, Any]) -> PolygonStockNewsQueryParams:
|
||||
return PolygonStockNewsQueryParams(**params)
|
||||
|
||||
@staticmethod
|
||||
def extract_data(
|
||||
query: PolygonStockNewsQueryParams, credentials: Optional[Dict[str, str]]
|
||||
) -> List[PolygonStockNewsData]:
|
||||
if credentials:
|
||||
api_key = credentials.get("polygon_api_key")
|
||||
|
||||
api_key = credentials.get("polygon_api_key") if credentials else ""
|
||||
|
||||
base_url = "https://api.polygon.io/v2/reference/news"
|
||||
querystring = get_querystring(query.dict(by_alias=True), [])
|
||||
|
||||
Reference in New Issue
Block a user