mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 08:24:53 +01:00
implemented check_update_value method
This commit is contained in:
parent
c7dc961498
commit
bbc5c1f0a3
1 changed files with 30 additions and 11 deletions
|
|
@ -38,10 +38,8 @@ class Logger:
|
||||||
class InvalidValueType(Exception):
|
class InvalidValueType(Exception):
|
||||||
msg_template = "{}"
|
msg_template = "{}"
|
||||||
|
|
||||||
def __init__(self, valid_types, invalid_type, key):
|
def __init__(self, valid_types, invalid_type, path):
|
||||||
msg = ""
|
msg = "Path \"{}\". ".format(path)
|
||||||
if key:
|
|
||||||
msg += "Key \"{}\". ".format(key)
|
|
||||||
|
|
||||||
joined_types = ", ".join(
|
joined_types = ", ".join(
|
||||||
[str(valid_type) for valid_type in valid_types]
|
[str(valid_type) for valid_type in valid_types]
|
||||||
|
|
@ -182,16 +180,37 @@ class BaseEntity:
|
||||||
def set_value(self, value):
|
def set_value(self, value):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def is_value_valid_type(self, value):
|
||||||
|
value_type = type(value)
|
||||||
|
for valid_type in self.valid_value_types:
|
||||||
|
if value_type is valid_type:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def check_update_value(self, value, value_type):
|
||||||
|
if value is NOT_SET:
|
||||||
|
return value
|
||||||
|
|
||||||
|
if self.is_value_valid_type(value):
|
||||||
|
return value
|
||||||
|
|
||||||
|
self.log.warning(
|
||||||
|
(
|
||||||
|
"{} Got invalid value type for {} values."
|
||||||
|
" Expected types: {} | Got Type: {} | Value: \"{}\""
|
||||||
|
).format(
|
||||||
|
self.path, value_type,
|
||||||
|
self.valid_value_types, type(value), str(value)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
return NOT_SET
|
||||||
|
|
||||||
|
|
||||||
def validate_value(self, value):
|
def validate_value(self, value):
|
||||||
if not self.valid_value_types:
|
if self.is_value_valid_type(value):
|
||||||
return
|
return
|
||||||
|
|
||||||
for valid_type in self.valid_value_types:
|
raise InvalidValueType(self.valid_value_types, type(value), self.path)
|
||||||
if type(value) is valid_type:
|
|
||||||
return
|
|
||||||
|
|
||||||
key = getattr(self, "key", None)
|
|
||||||
raise InvalidValueType(self.valid_value_types, type(value), key)
|
|
||||||
|
|
||||||
def merge_metadata(self, current_metadata, new_metadata):
|
def merge_metadata(self, current_metadata, new_metadata):
|
||||||
for key, value in new_metadata.items():
|
for key, value in new_metadata.items():
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue