mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-02 08:54:53 +01:00
abstract def handle default value
This commit is contained in:
parent
8e28004450
commit
1b870a7497
1 changed files with 13 additions and 17 deletions
|
|
@ -40,10 +40,11 @@ class AbtractAttrDef:
|
|||
tooltip(str): Attribute tooltip.
|
||||
"""
|
||||
|
||||
def __init__(self, key, label=None, tooltip=None):
|
||||
def __init__(self, key, default, label=None, tooltip=None):
|
||||
self.key = key
|
||||
self.label = label
|
||||
self.tooltip = tooltip
|
||||
self.default = default
|
||||
self._id = uuid.uuid4()
|
||||
|
||||
self.__init__class__ = AbtractAttrDef
|
||||
|
|
@ -84,8 +85,6 @@ class NumberDef(AbtractAttrDef):
|
|||
self, key, minimum=None, maximum=None, decimals=None, default=None,
|
||||
**kwargs
|
||||
):
|
||||
super(NumberDef, self).__init__(key, **kwargs)
|
||||
|
||||
minimum = 0 if minimum is None else minimum
|
||||
maximum = 999999 if maximum is None else maximum
|
||||
# Swap min/max when are passed in opposited order
|
||||
|
|
@ -107,9 +106,10 @@ class NumberDef(AbtractAttrDef):
|
|||
elif default > maximum:
|
||||
default = maximum
|
||||
|
||||
super(NumberDef, self).__init__(key, default=default, **kwargs)
|
||||
|
||||
self.minimum = minimum
|
||||
self.maximum = maximum
|
||||
self.default = default
|
||||
self.decimals = 0 if decimals is None else decimals
|
||||
|
||||
def __eq__(self, other):
|
||||
|
|
@ -155,14 +155,14 @@ class TextDef(AbtractAttrDef):
|
|||
self, key, multiline=None, regex=None, placeholder=None, default=None,
|
||||
**kwargs
|
||||
):
|
||||
super(TextDef, self).__init__(key, **kwargs)
|
||||
if default is None:
|
||||
default = ""
|
||||
|
||||
super(TextDef, self).__init__(key, default=default, **kwargs)
|
||||
|
||||
if multiline is None:
|
||||
multiline = False
|
||||
|
||||
if default is None:
|
||||
default = ""
|
||||
|
||||
elif not isinstance(default, six.string_types):
|
||||
raise TypeError((
|
||||
"'default' argument must be a {}, not '{}'"
|
||||
|
|
@ -174,7 +174,6 @@ class TextDef(AbtractAttrDef):
|
|||
self.multiline = multiline
|
||||
self.placeholder = placeholder
|
||||
self.regex = regex
|
||||
self.default = default
|
||||
|
||||
def __eq__(self, other):
|
||||
if not super(TextDef, self).__eq__(other):
|
||||
|
|
@ -202,8 +201,6 @@ class EnumDef(AbtractAttrDef):
|
|||
"""
|
||||
|
||||
def __init__(self, key, items, default=None, **kwargs):
|
||||
super(EnumDef, self).__init__(key, **kwargs)
|
||||
|
||||
if not items:
|
||||
raise ValueError((
|
||||
"Empty 'items' value. {} must have"
|
||||
|
|
@ -212,12 +209,13 @@ class EnumDef(AbtractAttrDef):
|
|||
|
||||
items = collections.OrderedDict(items)
|
||||
if default not in items:
|
||||
for key in items.keys():
|
||||
default = key
|
||||
for _key in items.keys():
|
||||
default = _key
|
||||
break
|
||||
|
||||
super(EnumDef, self).__init__(key, default=default, **kwargs)
|
||||
|
||||
self.items = items
|
||||
self.default = default
|
||||
|
||||
def __eq__(self, other):
|
||||
if not super(EnumDef, self).__eq__(other):
|
||||
|
|
@ -245,11 +243,9 @@ class BoolDef(AbtractAttrDef):
|
|||
"""
|
||||
|
||||
def __init__(self, key, default=None, **kwargs):
|
||||
super(BoolDef, self).__init__(key, **kwargs)
|
||||
|
||||
if default is None:
|
||||
default = False
|
||||
self.default = default
|
||||
super(BoolDef, self).__init__(key, default=default, **kwargs)
|
||||
|
||||
def convert_value(self, value):
|
||||
if isinstance(value, bool):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue