mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
replaced providers-enum with sync-server-providers to be able set system settings for provider
This commit is contained in:
parent
a5bbe779fb
commit
d961e0a262
4 changed files with 52 additions and 49 deletions
|
|
@ -105,7 +105,6 @@ from .enum_entity import (
|
|||
AppsEnumEntity,
|
||||
ToolsEnumEntity,
|
||||
TaskTypeEnumEntity,
|
||||
ProvidersEnum,
|
||||
DeadlineUrlEnumEntity,
|
||||
AnatomyTemplatesEnumEntity
|
||||
)
|
||||
|
|
@ -113,7 +112,10 @@ from .enum_entity import (
|
|||
from .list_entity import ListEntity
|
||||
from .dict_immutable_keys_entity import DictImmutableKeysEntity
|
||||
from .dict_mutable_keys_entity import DictMutableKeysEntity
|
||||
from .dict_conditional import DictConditionalEntity
|
||||
from .dict_conditional import (
|
||||
DictConditionalEntity,
|
||||
SyncServerProviders
|
||||
)
|
||||
|
||||
from .anatomy_entities import AnatomyEntity
|
||||
|
||||
|
|
@ -161,7 +163,6 @@ __all__ = (
|
|||
"AppsEnumEntity",
|
||||
"ToolsEnumEntity",
|
||||
"TaskTypeEnumEntity",
|
||||
"ProvidersEnum",
|
||||
"DeadlineUrlEnumEntity",
|
||||
"AnatomyTemplatesEnumEntity",
|
||||
|
||||
|
|
@ -172,6 +173,7 @@ __all__ = (
|
|||
"DictMutableKeysEntity",
|
||||
|
||||
"DictConditionalEntity",
|
||||
"SyncServerProviders",
|
||||
|
||||
"AnatomyEntity"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -724,3 +724,49 @@ class DictConditionalEntity(ItemEntity):
|
|||
for children in self.children.values():
|
||||
for child_entity in children:
|
||||
child_entity.reset_callbacks()
|
||||
|
||||
|
||||
class SyncServerProviders(DictConditionalEntity):
|
||||
schema_types = ["sync-server-providers"]
|
||||
|
||||
def _add_children(self):
|
||||
self.enum_key = "provider"
|
||||
self.enum_label = "Provider"
|
||||
|
||||
enum_children = self._get_enum_children()
|
||||
if not enum_children:
|
||||
enum_children.append({
|
||||
"key": None,
|
||||
"label": "< Nothing >"
|
||||
})
|
||||
self.enum_children = enum_children
|
||||
|
||||
super(SyncServerProviders, self)._add_children()
|
||||
|
||||
def _get_enum_children(self):
|
||||
from openpype_modules import sync_server
|
||||
|
||||
from openpype_modules.sync_server.providers import lib as lib_providers
|
||||
|
||||
provider_code_to_label = {}
|
||||
providers = lib_providers.factory.providers
|
||||
for provider_code, provider_info in providers.items():
|
||||
provider, _ = provider_info
|
||||
provider_code_to_label[provider_code] = provider.LABEL
|
||||
|
||||
system_settings_schema = (
|
||||
sync_server
|
||||
.SyncServerModule
|
||||
.get_system_settings_schema()
|
||||
)
|
||||
|
||||
enum_children = []
|
||||
for provider_code, configurables in system_settings_schema.items():
|
||||
label = provider_code_to_label.get(provider_code) or provider_code
|
||||
|
||||
enum_children.append({
|
||||
"key": provider_code,
|
||||
"label": label,
|
||||
"children": configurables
|
||||
})
|
||||
return enum_children
|
||||
|
|
|
|||
|
|
@ -407,44 +407,6 @@ class TaskTypeEnumEntity(BaseEnumEntity):
|
|||
self._current_value = new_value
|
||||
|
||||
|
||||
class ProvidersEnum(BaseEnumEntity):
|
||||
schema_types = ["providers-enum"]
|
||||
|
||||
def _item_initalization(self):
|
||||
self.multiselection = False
|
||||
self.value_on_not_set = ""
|
||||
self.enum_items = []
|
||||
self.valid_keys = set()
|
||||
self.valid_value_types = (str, )
|
||||
self.placeholder = None
|
||||
|
||||
def _get_enum_values(self):
|
||||
from openpype_modules.sync_server.providers import lib as lib_providers
|
||||
|
||||
providers = lib_providers.factory.providers
|
||||
|
||||
valid_keys = set()
|
||||
valid_keys.add('')
|
||||
enum_items = [{'': 'Choose Provider'}]
|
||||
for provider_code, provider_info in providers.items():
|
||||
provider, _ = provider_info
|
||||
enum_items.append({provider_code: provider.LABEL})
|
||||
valid_keys.add(provider_code)
|
||||
|
||||
return enum_items, valid_keys
|
||||
|
||||
def set_override_state(self, *args, **kwargs):
|
||||
super(ProvidersEnum, self).set_override_state(*args, **kwargs)
|
||||
|
||||
self.enum_items, self.valid_keys = self._get_enum_values()
|
||||
|
||||
value_on_not_set = list(self.valid_keys)[0]
|
||||
if self._current_value is NOT_SET:
|
||||
self._current_value = value_on_not_set
|
||||
|
||||
self.value_on_not_set = value_on_not_set
|
||||
|
||||
|
||||
class DeadlineUrlEnumEntity(BaseEnumEntity):
|
||||
schema_types = ["deadline_url-enum"]
|
||||
|
||||
|
|
|
|||
|
|
@ -121,14 +121,7 @@
|
|||
"collapsible_key": false,
|
||||
"object_type":
|
||||
{
|
||||
"type": "dict",
|
||||
"children": [
|
||||
{
|
||||
"type": "providers-enum",
|
||||
"key": "provider",
|
||||
"label": "Provider"
|
||||
}
|
||||
]
|
||||
"type": "sync-server-providers"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue