mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-11-03 16:02:04 +00:00
fix polygon stock_news
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
from datetime import datetime
|
||||
from typing import Dict, List, Literal, Optional
|
||||
|
||||
from openbb_provider.abstract.data import Data, QueryParams
|
||||
from openbb_provider.abstract.data import Data
|
||||
from openbb_provider.abstract.fetcher import Fetcher
|
||||
from openbb_provider.helpers import data_transformer, get_querystring
|
||||
from openbb_provider.models.stock_news import StockNewsData, StockNewsQueryParams
|
||||
@@ -13,15 +13,11 @@ from pydantic import BaseModel, Field
|
||||
from openbb_polygon.utils.helpers import get_data
|
||||
|
||||
|
||||
class PolygonStockNewsQueryParams(QueryParams):
|
||||
class PolygonStockNewsQueryParams(StockNewsQueryParams):
|
||||
"""Polygon stock news query.
|
||||
|
||||
Source: https://polygon.io/docs/stocks/get_v2_reference_news
|
||||
|
||||
Parameters
|
||||
----------
|
||||
symbol : str
|
||||
The symbol of the stocks to fetch.
|
||||
ticker_lt : str, optional
|
||||
Less than, by default None
|
||||
ticker_lte : str, optional
|
||||
@@ -42,13 +38,13 @@ class PolygonStockNewsQueryParams(QueryParams):
|
||||
Greater than or equal, by default None
|
||||
order : Literal["asc", "desc"], optional
|
||||
The sort order of the query, by default None
|
||||
limit : int, optional
|
||||
The limit of the query, by default 100
|
||||
sort : str, optional
|
||||
The sort of the query, by default None
|
||||
"""
|
||||
|
||||
ticker: str = Field(alias="symbols")
|
||||
class Config:
|
||||
fields = {"symbols": "ticker"}
|
||||
|
||||
ticker_lt: Optional[str] = Field(alias="ticker.lt", default=None)
|
||||
ticker_lte: Optional[str] = Field(alias="ticker.lte", default=None)
|
||||
ticker_gt: Optional[str] = Field(alias="ticker.gt", default=None)
|
||||
@@ -59,7 +55,6 @@ class PolygonStockNewsQueryParams(QueryParams):
|
||||
published_utc_gt: Optional[str] = Field(alias="published_utc.gt", default=None)
|
||||
published_utc_gte: Optional[str] = Field(alias="published_utc.gte", default=None)
|
||||
order: Optional[Literal["asc", "desc"]] = None
|
||||
limit: Optional[int] = Field(default=100)
|
||||
sort: Optional[str] = None
|
||||
|
||||
|
||||
@@ -99,7 +94,10 @@ class PolygonStockNewsFetcher(
|
||||
query: StockNewsQueryParams, extra_params: Optional[Dict] = None
|
||||
) -> PolygonStockNewsQueryParams:
|
||||
return PolygonStockNewsQueryParams(
|
||||
symbols=query.symbols, **extra_params if extra_params else {}
|
||||
ticker=query.symbols,
|
||||
page=query.page,
|
||||
limit=query.limit,
|
||||
**extra_params if extra_params else {},
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
@@ -110,7 +108,7 @@ class PolygonStockNewsFetcher(
|
||||
api_key = credentials.get("polygon_api_key")
|
||||
|
||||
base_url = "https://api.polygon.io/v2/reference/news"
|
||||
querystring = get_querystring(query.dict(), [])
|
||||
querystring = get_querystring(query.dict(by_alias=True), [])
|
||||
request_url = f"{base_url}?{querystring}&apiKey={api_key}"
|
||||
data = get_data(request_url)["results"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user