private value attributes

This commit is contained in:
iLLiCiTiT 2021-02-11 19:28:02 +01:00
parent 1323e33fd5
commit 24628ae652
5 changed files with 66 additions and 66 deletions

View file

@ -137,25 +137,25 @@ class BaseItemEntity(BaseEntity):
# Default value, studio override values and project override values
# - these should be set only with `update_default_value` etc.
# TODO convert to private attributes
self.default_value = NOT_SET
self.studio_override_value = NOT_SET
self.project_override_value = NOT_SET
self._default_value = NOT_SET
self._studio_override_value = NOT_SET
self._project_override_value = NOT_SET
# Entity has set `default_value` (is not NOT_SET)
# Entity has set `_default_value` (is not NOT_SET)
self.has_default_value = False
# Entity is marked as it contain studio override data so it's value
# will be stored to studio overrides. This is relevant attribute
# only if current override state is set to STUDIO.
self._has_studio_override = False
# Entity has set `studio_override_values` (is not NOT_SET)
# Entity has set `_studio_override_value` (is not NOT_SET)
self.had_studio_override = False
# Entity is marked as it contain project override data so it's value
# will be stored to project overrides. This is relevant attribute
# only if current override state is set to PROJECT.
self._has_project_override = False
# Entity has set `project_override_value` (is not NOT_SET)
# Entity has set `_project_override_value` (is not NOT_SET)
self.had_project_override = False
# Callbacks that are called on change.

View file

@ -213,7 +213,7 @@ class DictImmutableKeysEntity(ItemEntity):
pass
elif state is OverrideState.DEFAULTS:
self.has_default_value = self.default_value is not NOT_SET
self.has_default_value = self._default_value is not NOT_SET
elif state is OverrideState.STUDIO:
self.had_studio_override = (

View file

@ -95,9 +95,9 @@ class DictMutableKeysEntity(ItemEntity):
return new_child
def _item_initalization(self):
self.default_metadata = {}
self.studio_override_metadata = {}
self.project_override_metadata = {}
self._default_metadata = {}
self._studio_override_metadata = {}
self._project_override_metadata = {}
self.initial_value = None
@ -193,17 +193,17 @@ class DictMutableKeysEntity(ItemEntity):
def _metadata_for_current_state(self):
if (
self.override_state is OverrideState.PROJECT
and self.project_override_value is not NOT_SET
and self._project_override_value is not NOT_SET
):
return self.project_override_metadata
return self._project_override_metadata
if (
self.override_state >= OverrideState.STUDIO
and self.studio_override_value is not NOT_SET
and self._studio_override_value is not NOT_SET
):
return self.studio_override_metadata
return self._studio_override_metadata
return self.default_metadata
return self._default_metadata
def set(self, value):
# TODO pop keys not in value and add new keys from value
@ -241,17 +241,17 @@ class DictMutableKeysEntity(ItemEntity):
state is OverrideState.PROJECT
and self.had_project_override
):
value = self.project_override_value
metadata = self.project_override_metadata
value = self._project_override_value
metadata = self._project_override_metadata
elif self.had_studio_override:
value = self.studio_override_value
metadata = self.studio_override_metadata
value = self._studio_override_value
metadata = self._studio_override_metadata
else:
using_overrides = False
value = self.default_value
metadata = self.default_metadata
value = self._default_value
metadata = self._default_metadata
if value is NOT_SET:
value = self.value_on_not_set
@ -406,21 +406,21 @@ class DictMutableKeysEntity(ItemEntity):
value = self._check_update_value(value, "default")
self.has_default_value = value is not NOT_SET
value, metadata = self._prepare_value(value)
self.default_value = value
self.default_metadata = metadata
self._default_value = value
self._default_metadata = metadata
def update_studio_values(self, value):
value = self._check_update_value(value, "studio override")
value, metadata = self._prepare_value(value)
self.studio_override_value = value
self.studio_override_metadata = metadata
self._studio_override_value = value
self._studio_override_metadata = metadata
self.had_studio_override = value is not NOT_SET
def update_project_values(self, value):
value = self._check_update_value(value, "project override")
value, metadata = self._prepare_value(value)
self.project_override_value = value
self.project_override_metadata = metadata
self._project_override_value = value
self._project_override_metadata = metadata
self.had_project_override = value is not NOT_SET
def _discard_changes(self, on_change_trigger):
@ -434,7 +434,7 @@ class DictMutableKeysEntity(ItemEntity):
self.on_change()
def _remove_from_studio_default(self, on_change_trigger):
value = self.default_value
value = self._default_value
if value is NOT_SET:
value = self.value_on_not_set
@ -472,10 +472,10 @@ class DictMutableKeysEntity(ItemEntity):
using_overrides = False
if self._has_studio_override:
value = self.studio_override_value
value = self._studio_override_value
using_overrides = True
elif self.has_default_value:
value = self.default_value
value = self._default_value
else:
value = self.value_on_not_set

View file

@ -79,10 +79,10 @@ class InputEntity(ItemEntity):
# Only value change
if (
self._has_project_override
and self.project_override_value is not NOT_SET
and self._project_override_value is not NOT_SET
):
value_is_modified = (
self._current_value != self.project_override_value
self._current_value != self._project_override_value
)
if (
@ -91,14 +91,14 @@ class InputEntity(ItemEntity):
):
if (
self._has_studio_override
and self.studio_override_value is not NOT_SET
and self._studio_override_value is not NOT_SET
):
value_is_modified = (
self._current_value != self.studio_override_value
self._current_value != self._studio_override_value
)
if value_is_modified is None:
value_is_modified = self._current_value != self.default_value
value_is_modified = self._current_value != self._default_value
self.value_is_modified = value_is_modified
@ -111,17 +111,17 @@ class InputEntity(ItemEntity):
def update_default_value(self, value):
value = self._check_update_value(value, "default")
self.default_value = value
self._default_value = value
self.has_default_value = value is not NOT_SET
def update_studio_values(self, value):
value = self._check_update_value(value, "studio override")
self.studio_override_value = value
self._studio_override_value = value
self.had_studio_override = bool(value is not NOT_SET)
def update_project_values(self, value):
value = self._check_update_value(value, "project override")
self.project_override_value = value
self._project_override_value = value
self.had_project_override = bool(value is not NOT_SET)
@property
@ -183,12 +183,12 @@ class InputEntity(ItemEntity):
if state is OverrideState.STUDIO:
self._has_studio_override = (
self.studio_override_value is not NOT_SET
self._studio_override_value is not NOT_SET
)
elif state is OverrideState.PROJECT:
self._has_project_override = (
self.project_override_value is not NOT_SET
self._project_override_value is not NOT_SET
)
self._has_studio_override = self.had_studio_override
@ -196,13 +196,13 @@ class InputEntity(ItemEntity):
state is OverrideState.PROJECT
and self._has_project_override
):
value = self.project_override_value
value = self._project_override_value
elif self._has_studio_override:
value = self.studio_override_value
value = self._studio_override_value
else:
value = self.default_value
value = self._default_value
if value is NOT_SET:
value = self.value_on_not_set
@ -222,7 +222,7 @@ class InputEntity(ItemEntity):
self._has_project_override = self.had_project_override
if self.had_project_override:
self._current_value = copy.deepcopy(
self.project_override_value
self._project_override_value
)
on_change_trigger.append(self.on_change)
return
@ -231,14 +231,14 @@ class InputEntity(ItemEntity):
self._has_studio_override = self.had_studio_override
if self.had_studio_override:
self._current_value = copy.deepcopy(
self.studio_override_value
self._studio_override_value
)
on_change_trigger.append(self.on_change)
return
if self.override_state >= OverrideState.DEFAULTS:
if self.has_default_value:
value = self.default_value
value = self._default_value
else:
value = self.value_on_not_set
self._current_value = copy.deepcopy(value)
@ -254,7 +254,7 @@ class InputEntity(ItemEntity):
self.on_change()
def _remove_from_studio_default(self, on_change_trigger):
value = self.default_value
value = self._default_value
if value is NOT_SET:
value = self.value_on_not_set
self._current_value = copy.deepcopy(value)
@ -279,9 +279,9 @@ class InputEntity(ItemEntity):
self._has_project_override = False
if self._has_studio_override:
current_value = self.studio_override_value
current_value = self._studio_override_value
elif self.has_default_value:
current_value = self.default_value
current_value = self._default_value
else:
current_value = self.value_on_not_set
@ -455,13 +455,13 @@ class RawJsonEntity(InputEntity):
def _metadata_for_current_state(self):
if (
self.override_state is OverrideState.PROJECT
and self.project_override_value is not NOT_SET
and self._project_override_value is not NOT_SET
):
return self.project_override_metadata
if (
self.override_state >= OverrideState.STUDIO
and self.studio_override_value is not NOT_SET
and self._studio_override_value is not NOT_SET
):
return self.studio_override_metadata
@ -486,19 +486,19 @@ class RawJsonEntity(InputEntity):
value = self._check_update_value(value, "default")
self.has_default_value = value is not NOT_SET
value, metadata = self._prepare_value(value)
self.default_value = value
self._default_value = value
self.default_metadata = metadata
def update_studio_values(self, value):
value = self._check_update_value(value, "studio override")
self.had_studio_override = value is not NOT_SET
value, metadata = self._prepare_value(value)
self.studio_override_value = value
self._studio_override_value = value
self.studio_override_metadata = metadata
def update_project_values(self, value):
value = self._check_update_value(value, "project override")
self.had_project_override = value is not NOT_SET
value, metadata = self._prepare_value(value)
self.project_override_value = value
self._project_override_value = value
self.project_override_metadata = metadata

View file

@ -183,17 +183,17 @@ class ListEntity(ItemEntity):
value = NOT_SET
if self.override_state is OverrideState.PROJECT:
if self.had_project_override:
value = self.project_override_value
value = self._project_override_value
self._has_project_override = self.had_project_override
if value is NOT_SET or self.override_state is OverrideState.STUDIO:
if self.had_studio_override:
value = self.studio_override_value
value = self._studio_override_value
self._has_studio_override = self.had_studio_override
if value is NOT_SET or self.override_state is OverrideState.DEFAULTS:
if self.has_default_value:
value = self.default_value
value = self._default_value
else:
value = self.value_on_not_set
@ -324,18 +324,18 @@ class ListEntity(ItemEntity):
self.override_state >= OverrideState.PROJECT
and self.had_project_override
):
value = copy.deepcopy(self.project_override_value)
value = copy.deepcopy(self._project_override_value)
if (
value is not_set
and self.override_state >= OverrideState.STUDIO
and self.had_studio_override
):
value = copy.deepcopy(self.studio_override_value)
value = copy.deepcopy(self._studio_override_value)
if value is not_set and self.override_state >= OverrideState.DEFAULTS:
if self.has_default_value:
value = copy.deepcopy(self.default_value)
value = copy.deepcopy(self._default_value)
else:
value = copy.deepcopy(self.value_on_not_set)
@ -382,7 +382,7 @@ class ListEntity(ItemEntity):
if self.override_state is not OverrideState.STUDIO:
return
value = self.default_value
value = self._default_value
if value is NOT_SET:
value = self.value_on_not_set
@ -414,9 +414,9 @@ class ListEntity(ItemEntity):
return
if self._has_studio_override:
value = self.studio_override_value
value = self._studio_override_value
elif self.has_default_value:
value = self.default_value
value = self._default_value
else:
value = self.value_on_not_set
@ -438,17 +438,17 @@ class ListEntity(ItemEntity):
def update_default_value(self, value):
value = self._check_update_value(value, "default")
self.has_default_value = value is not NOT_SET
self.default_value = value
self._default_value = value
def update_studio_values(self, value):
value = self._check_update_value(value, "studio override")
self.had_studio_override = value is not NOT_SET
self.studio_override_value = value
self._studio_override_value = value
def update_project_values(self, value):
value = self._check_update_value(value, "project override")
self.had_project_override = value is not NOT_SET
self.project_override_value = value
self._project_override_value = value
def reset_callbacks(self):
super(ListEntity, self).reset_callbacks()