Skip to content

Commit

Permalink
[Bugfix] - Lower case validator in standard models (#6172)
Browse files Browse the repository at this point in the history
* add to_lower validator

* change validator name

* docstrings

* fix interval
  • Loading branch information
montezdesousa authored Mar 8, 2024
1 parent f24e971 commit 8f3d332
Show file tree
Hide file tree
Showing 76 changed files with 337 additions and 168 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Analyst Estimates Standard Model."""

from datetime import date as dateType
from typing import List, Literal, Set, Union
from typing import List, Literal, Optional, Set, Union

from pydantic import Field, field_validator

Expand All @@ -24,10 +24,16 @@ class AnalystEstimatesQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str) -> str:
"""Convert symbol to uppercase."""
def to_upper(cls, v: str) -> str:
"""Convert field to uppercase."""
return v.upper()

@field_validator("period", mode="before", check_fields=False)
@classmethod
def to_lower(cls, v: Optional[str]) -> Optional[str]:
"""Convert field to lowercase."""
return v.lower() if v else v


class AnalystEstimatesData(Data):
"""Analyst Estimates data."""
Expand Down Expand Up @@ -71,8 +77,8 @@ class AnalystEstimatesData(Data):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: Union[str, List[str], Set[str]]):
"""Convert symbol to uppercase."""
def to_upper(cls, v: Union[str, List[str], Set[str]]):
"""Convert field to uppercase."""
if isinstance(v, str):
return v.upper()
return ",".join([symbol.upper() for symbol in list(v)]) if v else None
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,16 @@ class BalanceSheetQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str):
def to_upper(cls, v: str):
"""Convert field to uppercase."""
return v.upper()

@field_validator("period", mode="before", check_fields=False)
@classmethod
def to_lower(cls, v: Optional[str]) -> Optional[str]:
"""Convert field to lowercase."""
return v.lower() if v else v


class BalanceSheetData(Data):
"""Balance Sheet Data."""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ class BalanceSheetGrowthQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str):
"""Convert symbol to uppercase."""
def to_upper(cls, v: str):
"""Convert field to uppercase."""
return v.upper()


Expand Down Expand Up @@ -130,8 +130,8 @@ class BalanceSheetGrowthData(Data):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: Union[str, List[str], Set[str]]):
"""Convert symbol to uppercase."""
def to_upper(cls, v: Union[str, List[str], Set[str]]):
"""Convert field to uppercase."""
if isinstance(v, str):
return v.upper()
return ",".join([symbol.upper() for symbol in list(v)]) if v else None
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ class CalendarIpoQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str):
"""Convert symbol to uppercase."""
def to_upper(cls, v: str):
"""Convert field to uppercase."""
return v.upper() if v else None

@field_validator("start_date", mode="before", check_fields=False)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,16 @@ class CashFlowStatementQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str):
"""Convert symbol to uppercase."""
def to_upper(cls, v: str):
"""Convert field to uppercase."""
return v.upper()

@field_validator("period", mode="before", check_fields=False)
@classmethod
def to_lower(cls, v: Optional[str]) -> Optional[str]:
"""Convert field to lowercase."""
return v.lower() if v else v


class CashFlowStatementData(Data):
"""Cash Flow Statement Data."""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ class CashFlowStatementGrowthQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str) -> str:
"""Convert symbol to uppercase."""
def to_upper(cls, v: str) -> str:
"""Convert field to uppercase."""
return v.upper()


Expand Down Expand Up @@ -117,8 +117,8 @@ class CashFlowStatementGrowthData(Data):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: Union[str, List[str], Set[str]]):
"""Convert symbol to uppercase."""
def to_upper(cls, v: Union[str, List[str], Set[str]]):
"""Convert field to uppercase."""
if isinstance(v, str):
return v.upper()
return ",".join([symbol.upper() for symbol in list(v)]) if v else None
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ class CikMapQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str) -> str:
"""Convert symbol to uppercase."""
def to_upper(cls, v: str) -> str:
"""Convert field to uppercase."""
return v.upper()


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ class CompanyFilingsQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: Union[str, List[str], Set[str]]):
"""Convert symbol to uppercase."""
def to_upper(cls, v: Union[str, List[str], Set[str]]):
"""Convert field to uppercase."""
if isinstance(v, str):
return v.upper()
return ",".join([symbol.upper() for symbol in list(v)]) if v else None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ class CompanyOverviewQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str) -> str:
"""Convert symbol to uppercase."""
def to_upper(cls, v: str) -> str:
"""Convert field to uppercase."""
return v.upper()


Expand Down Expand Up @@ -100,8 +100,8 @@ class CompanyOverviewData(Data):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: Union[str, List[str], Set[str]]):
"""Convert symbol to uppercase."""
def to_upper(cls, v: Union[str, List[str], Set[str]]):
"""Convert field to uppercase."""
if isinstance(v, str):
return v.upper()
return ",".join([symbol.upper() for symbol in list(v)])
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
)
from typing import Literal, Optional

from pydantic import Field
from pydantic import Field, field_validator

from openbb_core.provider.abstract.data import Data
from openbb_core.provider.abstract.query_params import QueryParams
Expand Down Expand Up @@ -39,6 +39,12 @@ class CommercialPaperParams(QueryParams):
description="The grade.",
)

@field_validator("maturity", "category", "grade", mode="before", check_fields=False)
@classmethod
def to_lower(cls, v: Optional[str]) -> Optional[str]:
"""Convert field to lowercase."""
return v.lower() if v else v


class CommercialPaperData(Data):
"""Commercial Paper Data."""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class CryptoHistoricalQueryParams(QueryParams):
@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def validate_symbol(cls, v: Union[str, List[str], Set[str]]):
"""Convert symbol to uppercase and remove '-'."""
"""Convert field to uppercase and remove '-'."""
if isinstance(v, str):
return v.upper().replace("-", "")
return ",".join([symbol.upper().replace("-", "") for symbol in list(v)])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class CurrencyHistoricalQueryParams(QueryParams):
def validate_symbol(
cls, v: Union[str, List[str], Set[str]]
): # pylint: disable=E0213
"""Convert symbol to uppercase and remove '-'."""
"""Convert field to uppercase and remove '-'."""
if isinstance(v, str):
return v.upper().replace("-", "")
return ",".join([symbol.upper().replace("-", "") for symbol in list(v)])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ class EarningsCallTranscriptQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str) -> str:
"""Convert symbol to uppercase."""
def to_upper(cls, v: str) -> str:
"""Convert field to uppercase."""
return v.upper()


Expand All @@ -37,8 +37,8 @@ class EarningsCallTranscriptData(Data):

@field_validator("symbol", mode="before")
@classmethod
def upper_symbol(cls, v: Union[str, List[str], Set[str]]):
"""Convert symbol to uppercase."""
def to_upper(cls, v: Union[str, List[str], Set[str]]):
"""Convert field to uppercase."""
if isinstance(v, str):
return v.upper()
return ",".join([symbol.upper() for symbol in list(v)])
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
)
from typing import Literal, Optional

from pydantic import Field
from pydantic import Field, field_validator

from openbb_core.provider.abstract.data import Data
from openbb_core.provider.abstract.query_params import QueryParams
Expand All @@ -31,6 +31,12 @@ class EuropeanCentralBankInterestRatesParams(QueryParams):
description="The type of interest rate.",
)

@field_validator("interest_rate_type", mode="before", check_fields=False)
@classmethod
def to_lower(cls, v: Optional[str]) -> Optional[str]:
"""Convert field to lowercase."""
return v.lower() if v else v


class EuropeanCentralBankInterestRatesData(Data):
"""European Central Bank Interest Rates Data."""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ class EquityFtdQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str):
"""Convert symbol to uppercase."""
def to_upper(cls, v: str):
"""Convert field to uppercase."""
return v.upper()


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ class EquityHistoricalQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str) -> str:
"""Convert symbol to uppercase."""
def to_upper(cls, v: str) -> str:
"""Convert field to uppercase."""
return v.upper()


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ class EquityInfoQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str) -> str:
"""Convert symbol to uppercase."""
def to_upper(cls, v: str) -> str:
"""Convert field to uppercase."""
return v.upper()


Expand Down Expand Up @@ -144,8 +144,8 @@ class EquityInfoData(Data):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: Union[str, List[str], Set[str]]):
"""Convert symbol to uppercase."""
def to_upper(cls, v: Union[str, List[str], Set[str]]):
"""Convert field to uppercase."""
if isinstance(v, str):
return v.upper()
return ",".join([symbol.upper() for symbol in list(v)])
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ class EquityNBBOQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str):
"""Convert symbol to uppercase."""
def to_upper(cls, v: str):
"""Convert field to uppercase."""
return v.upper()


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
class EquityOwnershipQueryParams(QueryParams):
"""Equity Ownership Query."""

__validator_dict__ = {"check_single": ("symbol",)}

symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", ""))
date: Optional[dateType] = Field(
default=None, description=QUERY_DESCRIPTIONS.get("date", "")
Expand All @@ -35,8 +33,8 @@ def time_validate(cls, v: str):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str) -> str:
"""Convert symbol to uppercase."""
def to_upper(cls, v: str) -> str:
"""Convert field to uppercase."""
return v.upper()


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ class EquityPeersQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str) -> str:
"""Convert symbol to uppercase."""
def to_upper(cls, v: str) -> str:
"""Convert field to uppercase."""
return v.upper()


Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
"""Equity Performance Standard Model."""

from pydantic import Field
from typing import Literal, Optional

from pydantic import Field, field_validator

from openbb_core.provider.abstract.data import Data
from openbb_core.provider.abstract.query_params import QueryParams
Expand All @@ -10,11 +12,17 @@
class EquityPerformanceQueryParams(QueryParams):
"""Equity Performance Query."""

sort: str = Field(
sort: Literal["asc", "desc"] = Field(
default="desc",
description="Sort order. Possible values: 'asc', 'desc'. Default: 'desc'.",
)

@field_validator("sort", mode="before", check_fields=False)
@classmethod
def to_lower(cls, v: Optional[str]) -> Optional[str]:
"""Convert field to lowercase."""
return v.lower() if v else v


class EquityPerformanceData(Data):
"""Equity Performance Data."""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ class EquityQuoteQueryParams(QueryParams):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: str) -> str:
"""Convert symbol to uppercase."""
def to_upper(cls, v: str) -> str:
"""Convert field to uppercase."""
return v.upper()


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ class EquityScreenerData(Data):

@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def upper_symbol(cls, v: Union[str, List[str], Set[str]]):
"""Convert symbol to uppercase."""
def to_upper(cls, v: Union[str, List[str], Set[str]]):
"""Convert field to uppercase."""
if isinstance(v, str):
return v.upper()
return ",".join([symbol.upper() for symbol in list(v)])
Loading

0 comments on commit 8f3d332

Please sign in to comment.