chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
from typing import Optional, Union
|
||||
|
||||
|
||||
def convert_string_to_type(
|
||||
val: Optional[Union[str, int, float, bool]], convert_type: Union[int, float, bool]
|
||||
) -> Union[int, float, bool]:
|
||||
"""Convert the given value to a convert type.
|
||||
|
||||
If the given val is None, it will just return None without the conversion.
|
||||
|
||||
It supports,
|
||||
str -> int/float/bool
|
||||
int -> int
|
||||
bool -> bool
|
||||
float -> float
|
||||
"""
|
||||
if val is None:
|
||||
return None
|
||||
elif type(val) is convert_type:
|
||||
return val
|
||||
elif convert_type is int:
|
||||
try:
|
||||
val = int(val)
|
||||
except ValueError:
|
||||
raise ValueError(
|
||||
f"Failed to convert a value {val} of type {type(val)} to {convert_type}"
|
||||
)
|
||||
elif convert_type is float:
|
||||
try:
|
||||
val = float(val)
|
||||
except ValueError:
|
||||
raise ValueError(
|
||||
f"Failed to convert a value {val} of type {type(val)} to {convert_type}"
|
||||
)
|
||||
elif convert_type is bool:
|
||||
# Without this, "False" will become True.
|
||||
if val == "False" or val == "false" or val == "0":
|
||||
val = False
|
||||
elif val == "True" or val == "true" or val == "1":
|
||||
val = True
|
||||
else:
|
||||
raise ValueError(
|
||||
f"Failed to convert a value {val} of type {type(val)} to {convert_type}"
|
||||
)
|
||||
else:
|
||||
assert False, f"Unsupported convert type {convert_type}"
|
||||
return val
|
||||
|
||||
|
||||
def record_deprecated_state_api_import():
|
||||
import warnings
|
||||
|
||||
from ray._common.usage.usage_lib import TagKey, record_extra_usage_tag
|
||||
|
||||
warnings.warn(
|
||||
"Ray state API is no longer experimental. Please import from `ray.util.state`. "
|
||||
"instead. Importing from `ray.experimental` will be deprecated in "
|
||||
"future releases. ",
|
||||
DeprecationWarning,
|
||||
)
|
||||
|
||||
record_extra_usage_tag(TagKey.EXPERIMENTAL_STATE_API_IMPORT, "1")
|
||||
Reference in New Issue
Block a user