in google/generativeai/types/caching_types.py [0:0]
def to_optional_expire_time(expire_time: ExpireTimeTypes | None) -> ExpireTime | None:
if expire_time is None:
return expire_time
elif isinstance(expire_time, datetime.datetime):
timestamp = expire_time.timestamp()
seconds = int(timestamp)
nanos = int((seconds % 1) * 1000)
return {
"seconds": seconds,
"nanos": nanos,
}
elif isinstance(expire_time, dict):
return expire_time
elif isinstance(expire_time, int):
return {"seconds": expire_time, "nanos": 0}
else:
raise TypeError(
f"Could not convert input to `expire_time` \n'" f" type: {type(expire_time)}\n",
expire_time,
)