Resetting utils subtree.

This commit is contained in:
2024-12-25 19:48:57 +05:30
parent dd9568723a
commit e5c16f8931
172 changed files with 418 additions and 136993 deletions
+13 -3
View File
@@ -177,7 +177,7 @@ class TradingSymbol(BaseModel):
strike = instrument["strike"],
expiryTs = date_time.to_timezone(
datetime_object = datetime.datetime.combine(
instrument["expiry"],
TradingSymbol.parse_date_time(instrument["expiry"]),
datetime.time(hour = 0, minute = 0, second = 0)
),
timezone = date_time.TIMEZONE_UTC
@@ -190,23 +190,33 @@ class TradingSymbol(BaseModel):
# ┗┛┗┻┗┗┗┻┗┻┗┗┗┛┛┗
@field_validator("expiryTs", mode = "before")
def parse_date_time(cls, value):
def parse_expiry(cls, value): return cls.parse_date_time(value)
@staticmethod
def parse_date_time(value):
# If a null value was given,
# we can't do anything:
if not value: value = None
# If the input is a string:
if isinstance(value, str):
value = value.strip()
value = date_time.parse_date_time(
input_value = value,
timezone = date_time.TIMEZONE_UTC
timezone = date_time.TIMEZONE_UTC,
date_formats = ["%Y-%m-%d"]
)
# If the input is already a date-time object,
# we just normalize the timestamp:
if isinstance(value, datetime.datetime):
value = date_time.to_timezone(
value,
timezone = date_time.TIMEZONE_UTC
)
# Done here:
return value