From 2342ee18b124284f679328bac5ac1f4b5a60f272 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Thu, 1 Aug 2024 17:05:41 -0700 Subject: [PATCH] fix rogue percent value --- .../fmp/openbb_fmp/models/etf_info.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/etf_info.py b/openbb_platform/providers/fmp/openbb_fmp/models/etf_info.py index 4475635a77fd..d915e67b9476 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/etf_info.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/etf_info.py @@ -12,7 +12,7 @@ EtfInfoQueryParams, ) from openbb_core.provider.utils.helpers import amake_request -from pydantic import Field +from pydantic import Field, field_validator class FMPEtfInfoQueryParams(EtfInfoQueryParams): @@ -33,9 +33,15 @@ class FMPEtfInfoData(EtfInfoData): asset_class: Optional[str] = Field( default=None, description="Asset class of the ETF." ) - aum: Optional[float] = Field(default=None, description="Assets under management.") + aum: Optional[float] = Field( + default=None, + description="Assets under management.", + json_schema_extra={"x-unit_measurement": "currency"}, + ) nav: Optional[float] = Field( - default=None, description="Net asset value of the ETF." + default=None, + description="Net asset value of the ETF.", + json_schema_extra={"x-unit_measurement": "currency"}, ) nav_currency: Optional[str] = Field( default=None, description="Currency of the ETF's net asset value." @@ -53,6 +59,12 @@ class FMPEtfInfoData(EtfInfoData): ) website: Optional[str] = Field(default=None, description="Website of the issuer.") + @field_validator("expense_ratio", mode="before", check_fields=False) + @classmethod + def validate_expense_ratio(cls, v): + """Format expense ratio as percent.""" + return v / 100 if v else None + class FMPEtfInfoFetcher( Fetcher[