From fe53c93d64c077960531aeb7a4b8e39636bdb239 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Wed, 29 Nov 2023 08:17:49 -0800 Subject: [PATCH] hotfix/fmp-replace-zero: Replace Zero with None in FMP Balance, Cash, Income (#5815) * replace zeros with None in Balance, Cash, Income * black --------- Co-authored-by: Pratyush Shukla --- .../providers/fmp/openbb_fmp/models/balance_sheet.py | 6 ++++++ .../providers/fmp/openbb_fmp/models/cash_flow.py | 6 ++++++ .../providers/fmp/openbb_fmp/models/income_statement.py | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/balance_sheet.py b/openbb_platform/providers/fmp/openbb_fmp/models/balance_sheet.py index 099b99de84f..1d6809abb63 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/balance_sheet.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/balance_sheet.py @@ -92,6 +92,12 @@ class FMPBalanceSheetData(BalanceSheetData): default=None, description="Link to the final statement." ) + @model_validator(mode="before") + @classmethod + def replace_zero(cls, values): # pylint: disable=no-self-argument + """Check for zero values and replace with None.""" + return {k: None if v == 0 else v for k, v in values.items()} + class FMPBalanceSheetFetcher( Fetcher[ diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/cash_flow.py b/openbb_platform/providers/fmp/openbb_fmp/models/cash_flow.py index fbb4bb6ea16..338898189d0 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/cash_flow.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/cash_flow.py @@ -99,6 +99,12 @@ class FMPCashFlowStatementData(CashFlowStatementData): default=None, description="Link to the final statement." ) + @model_validator(mode="before") + @classmethod + def replace_zero(cls, values): # pylint: disable=no-self-argument + """Check for zero values and replace with None.""" + return {k: None if v == 0 else v for k, v in values.items()} + class FMPCashFlowStatementFetcher( Fetcher[ diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/income_statement.py b/openbb_platform/providers/fmp/openbb_fmp/models/income_statement.py index b1bac1f0e79..984c89c1c0c 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/models/income_statement.py +++ b/openbb_platform/providers/fmp/openbb_fmp/models/income_statement.py @@ -122,6 +122,12 @@ class FMPIncomeStatementData(IncomeStatementData): default=None, description="Final link to the income statement." ) + @model_validator(mode="before") + @classmethod + def replace_zero(cls, values): # pylint: disable=no-self-argument + """Check for zero values and replace with None.""" + return {k: None if v == 0 else v for k, v in values.items()} + class FMPIncomeStatementFetcher( Fetcher[