Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bugfix] - Lower case validator in standard models #6172

Merged
merged 6 commits into from
Mar 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading