From 2229c1e300eb6bffe2d2ce736327ffe6098e56f5 Mon Sep 17 00:00:00 2001 From: Pratyush Shukla Date: Sat, 15 Jul 2023 02:56:33 +0530 Subject: [PATCH] Modified return params and added create_url function --- openbb_sdk/providers/fmp/openbb_fmp/stock_peers.py | 11 ++++++++--- .../provider/openbb_provider/models/stock_peers.py | 10 +++++++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/openbb_sdk/providers/fmp/openbb_fmp/stock_peers.py b/openbb_sdk/providers/fmp/openbb_fmp/stock_peers.py index e6cbfd6c7ca..ae2e426d436 100644 --- a/openbb_sdk/providers/fmp/openbb_fmp/stock_peers.py +++ b/openbb_sdk/providers/fmp/openbb_fmp/stock_peers.py @@ -9,7 +9,10 @@ from openbb_provider.helpers import data_transformer # IMPORT INTERNAL from openbb_provider.models.stock_peers import StockPeersData, StockPeersQueryParams -from .helpers import get_data_many +# IMPORT THIRD-PARTY +from pydantic import Field + +from .helpers import create_url, get_data_many # FMP SPECIFIC FUNCTIONALITY CURRENTLY @@ -29,6 +32,9 @@ class FMPStockPeersQueryParams(StockPeersQueryParams): class FMPStockPeersData(StockPeersData): """FMP Stock Peers data.""" + symbol: str = Field(min_length=1) + peers_list: List[str] = Field(alias="peersList") + class FMPStockPeersFetcher( Fetcher[ @@ -48,8 +54,7 @@ class FMPStockPeersFetcher( def extract_data( query: FMPStockPeersQueryParams, api_key: str ) -> List[FMPStockPeersData]: - base_url = "https://financialmodelingprep.com/api/v4" - url = f"{base_url}/stock_peers?symbol={query.symbol}&apikey={api_key}" + url = create_url(4, "stock_peers", api_key, query) return get_data_many(url, FMPStockPeersData, "peersList") @staticmethod diff --git a/openbb_sdk/sdk/provider/openbb_provider/models/stock_peers.py b/openbb_sdk/sdk/provider/openbb_provider/models/stock_peers.py index 8dc2bae1a51..3e22feca975 100644 --- a/openbb_sdk/sdk/provider/openbb_provider/models/stock_peers.py +++ b/openbb_sdk/sdk/provider/openbb_provider/models/stock_peers.py @@ -1,6 +1,8 @@ """Stock Peers data model.""" +from typing import List + from openbb_provider.abstract.data import Data, QueryParams from openbb_provider.models.base import BaseSymbol @@ -20,5 +22,11 @@ class StockPeersData(Data): Returns ------- - A list of stock peers based on sector, exchange and market cap + symbol : str + The symbol of the company to retrieve the stock peers of. + peers_list : List[str] + A list of stock peers based on sector, exchange and market cap """ + + symbol: str + peers_list: List[str]