mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-26 13:52:15 +01:00
Merge pull request #369 from ynput/enhancement/use-site-sync-name
SiteSync: Use 'sitesync' over 'sync_server'
This commit is contained in:
commit
aa3f04889c
15 changed files with 142 additions and 142 deletions
|
|
@ -36,23 +36,23 @@ class HostDirmap(object):
|
|||
host_name,
|
||||
project_name,
|
||||
project_settings=None,
|
||||
sync_module=None
|
||||
sitesync_addon=None
|
||||
):
|
||||
self.host_name = host_name
|
||||
self.project_name = project_name
|
||||
self._project_settings = project_settings
|
||||
self._sync_module = sync_module
|
||||
self._sitesync_addon = sitesync_addon
|
||||
# to limit reinit of Modules
|
||||
self._sync_module_discovered = sync_module is not None
|
||||
self._sitesync_addon_discovered = sitesync_addon is not None
|
||||
self._log = None
|
||||
|
||||
@property
|
||||
def sync_module(self):
|
||||
if not self._sync_module_discovered:
|
||||
self._sync_module_discovered = True
|
||||
def sitesync_addon(self):
|
||||
if not self._sitesync_addon_discovered:
|
||||
self._sitesync_addon_discovered = True
|
||||
manager = AddonsManager()
|
||||
self._sync_module = manager.get("sync_server")
|
||||
return self._sync_module
|
||||
self._sitesync_addon = manager.get("sitesync")
|
||||
return self._sitesync_addon
|
||||
|
||||
@property
|
||||
def project_settings(self):
|
||||
|
|
@ -158,25 +158,25 @@ class HostDirmap(object):
|
|||
"""
|
||||
project_name = self.project_name
|
||||
|
||||
sync_module = self.sync_module
|
||||
sitesync_addon = self.sitesync_addon
|
||||
mapping = {}
|
||||
if (
|
||||
sync_module is None
|
||||
or not sync_module.enabled
|
||||
or project_name not in sync_module.get_enabled_projects()
|
||||
sitesync_addon is None
|
||||
or not sitesync_addon.enabled
|
||||
or project_name not in sitesync_addon.get_enabled_projects()
|
||||
):
|
||||
return mapping
|
||||
|
||||
active_site = sync_module.get_local_normalized_site(
|
||||
sync_module.get_active_site(project_name))
|
||||
remote_site = sync_module.get_local_normalized_site(
|
||||
sync_module.get_remote_site(project_name))
|
||||
active_site = sitesync_addon.get_local_normalized_site(
|
||||
sitesync_addon.get_active_site(project_name))
|
||||
remote_site = sitesync_addon.get_local_normalized_site(
|
||||
sitesync_addon.get_remote_site(project_name))
|
||||
self.log.debug(
|
||||
"active {} - remote {}".format(active_site, remote_site)
|
||||
)
|
||||
|
||||
if active_site == "local" and active_site != remote_site:
|
||||
sync_settings = sync_module.get_sync_project_setting(
|
||||
sync_settings = sitesync_addon.get_sync_project_setting(
|
||||
project_name,
|
||||
exclude_locals=False,
|
||||
cached=False)
|
||||
|
|
@ -194,7 +194,7 @@ class HostDirmap(object):
|
|||
self.log.debug("remote overrides {}".format(remote_overrides))
|
||||
|
||||
current_platform = platform.system().lower()
|
||||
remote_provider = sync_module.get_provider_for_site(
|
||||
remote_provider = sitesync_addon.get_provider_for_site(
|
||||
project_name, remote_site
|
||||
)
|
||||
# dirmap has sense only with regular disk provider, in the workfile
|
||||
|
|
|
|||
|
|
@ -2627,11 +2627,11 @@ class NukeDirmap(HostDirmap):
|
|||
|
||||
|
||||
class DirmapCache:
|
||||
"""Caching class to get settings and sync_module easily and only once."""
|
||||
"""Caching class to get settings and sitesync easily and only once."""
|
||||
_project_name = None
|
||||
_project_settings = None
|
||||
_sync_module_discovered = False
|
||||
_sync_module = None
|
||||
_sitesync_addon_discovered = False
|
||||
_sitesync_addon = None
|
||||
_mapping = None
|
||||
|
||||
@classmethod
|
||||
|
|
@ -2647,11 +2647,11 @@ class DirmapCache:
|
|||
return cls._project_settings
|
||||
|
||||
@classmethod
|
||||
def sync_module(cls):
|
||||
if not cls._sync_module_discovered:
|
||||
cls._sync_module_discovered = True
|
||||
cls._sync_module = AddonsManager().get("sync_server")
|
||||
return cls._sync_module
|
||||
def sitesync_addon(cls):
|
||||
if not cls._sitesync_addon_discovered:
|
||||
cls._sitesync_addon_discovered = True
|
||||
cls._sitesync_addon = AddonsManager().get("sitesync")
|
||||
return cls._sitesync_addon
|
||||
|
||||
@classmethod
|
||||
def mapping(cls):
|
||||
|
|
@ -2673,7 +2673,7 @@ def dirmap_file_name_filter(file_name):
|
|||
"nuke",
|
||||
DirmapCache.project_name(),
|
||||
DirmapCache.project_settings(),
|
||||
DirmapCache.sync_module(),
|
||||
DirmapCache.sitesync_addon(),
|
||||
)
|
||||
if not DirmapCache.mapping():
|
||||
DirmapCache.set_mapping(dirmap_processor.get_mappings())
|
||||
|
|
|
|||
|
|
@ -447,7 +447,7 @@ class CacheItem:
|
|||
|
||||
|
||||
class Anatomy(BaseAnatomy):
|
||||
_sync_server_addon_cache = CacheItem()
|
||||
_sitesync_addon_cache = CacheItem()
|
||||
_project_cache = collections.defaultdict(CacheItem)
|
||||
_default_site_id_cache = collections.defaultdict(CacheItem)
|
||||
_root_overrides_cache = collections.defaultdict(
|
||||
|
|
@ -482,13 +482,13 @@ class Anatomy(BaseAnatomy):
|
|||
return copy.deepcopy(project_cache.data)
|
||||
|
||||
@classmethod
|
||||
def get_sync_server_addon(cls):
|
||||
if cls._sync_server_addon_cache.is_outdated:
|
||||
def get_sitesync_addon(cls):
|
||||
if cls._sitesync_addon_cache.is_outdated:
|
||||
manager = AddonsManager()
|
||||
cls._sync_server_addon_cache.update_data(
|
||||
manager.get_enabled_addon("sync_server")
|
||||
cls._sitesync_addon_cache.update_data(
|
||||
manager.get_enabled_addon("sitesync")
|
||||
)
|
||||
return cls._sync_server_addon_cache.data
|
||||
return cls._sitesync_addon_cache.data
|
||||
|
||||
@classmethod
|
||||
def _get_studio_roots_overrides(cls, project_name):
|
||||
|
|
@ -525,8 +525,8 @@ class Anatomy(BaseAnatomy):
|
|||
"""
|
||||
|
||||
# First check if sync server is available and enabled
|
||||
sync_server = cls.get_sync_server_addon()
|
||||
if sync_server is None or not sync_server.enabled:
|
||||
sitesync_addon = cls.get_sitesync_addon()
|
||||
if sitesync_addon is None or not sitesync_addon.enabled:
|
||||
# QUESTION is ok to force 'studio' when site sync is not enabled?
|
||||
site_name = "studio"
|
||||
|
||||
|
|
@ -535,7 +535,7 @@ class Anatomy(BaseAnatomy):
|
|||
project_cache = cls._default_site_id_cache[project_name]
|
||||
if project_cache.is_outdated:
|
||||
project_cache.update_data(
|
||||
sync_server.get_active_site_type(project_name)
|
||||
sitesync_addon.get_active_site_type(project_name)
|
||||
)
|
||||
site_name = project_cache.data
|
||||
|
||||
|
|
@ -549,7 +549,7 @@ class Anatomy(BaseAnatomy):
|
|||
)
|
||||
else:
|
||||
# Ask sync server to get roots overrides
|
||||
roots_overrides = sync_server.get_site_root_overrides(
|
||||
roots_overrides = sitesync.get_site_root_overrides(
|
||||
project_name, site_name
|
||||
)
|
||||
site_cache.update_data(roots_overrides)
|
||||
|
|
|
|||
|
|
@ -871,7 +871,7 @@ class FrontendLoaderController(_BaseLoaderController):
|
|||
|
||||
# Site sync functions
|
||||
@abstractmethod
|
||||
def is_site_sync_enabled(self, project_name=None):
|
||||
def is_sitesync_enabled(self, project_name=None):
|
||||
"""Is site sync enabled.
|
||||
|
||||
Site sync addon can be enabled but can be disabled per project.
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ class LoaderController(BackendLoaderController, FrontendLoaderController):
|
|||
self._products_model = ProductsModel(self)
|
||||
self._loader_actions_model = LoaderActionsModel(self)
|
||||
self._thumbnails_model = ThumbnailsModel()
|
||||
self._site_sync_model = SiteSyncModel(self)
|
||||
self._sitesync_model = SiteSyncModel(self)
|
||||
|
||||
@property
|
||||
def log(self):
|
||||
|
|
@ -149,7 +149,7 @@ class LoaderController(BackendLoaderController, FrontendLoaderController):
|
|||
self._loader_actions_model.reset()
|
||||
self._projects_model.reset()
|
||||
self._thumbnails_model.reset()
|
||||
self._site_sync_model.reset()
|
||||
self._sitesync_model.reset()
|
||||
|
||||
self._projects_model.refresh()
|
||||
|
||||
|
|
@ -240,7 +240,7 @@ class LoaderController(BackendLoaderController, FrontendLoaderController):
|
|||
project_name, representation_ids)
|
||||
)
|
||||
|
||||
action_items.extend(self._site_sync_model.get_site_sync_action_items(
|
||||
action_items.extend(self._sitesync_model.get_sitesync_action_items(
|
||||
project_name, representation_ids)
|
||||
)
|
||||
|
||||
|
|
@ -254,8 +254,8 @@ class LoaderController(BackendLoaderController, FrontendLoaderController):
|
|||
version_ids,
|
||||
representation_ids
|
||||
):
|
||||
if self._site_sync_model.is_site_sync_action(identifier):
|
||||
self._site_sync_model.trigger_action_item(
|
||||
if self._sitesync_model.is_sitesync_action(identifier):
|
||||
self._sitesync_model.trigger_action_item(
|
||||
identifier,
|
||||
project_name,
|
||||
representation_ids
|
||||
|
|
@ -368,24 +368,24 @@ class LoaderController(BackendLoaderController, FrontendLoaderController):
|
|||
self._loaded_products_cache.update_data(product_ids)
|
||||
return self._loaded_products_cache.get_data()
|
||||
|
||||
def is_site_sync_enabled(self, project_name=None):
|
||||
return self._site_sync_model.is_site_sync_enabled(project_name)
|
||||
def is_sitesync_enabled(self, project_name=None):
|
||||
return self._sitesync_model.is_sitesync_enabled(project_name)
|
||||
|
||||
def get_active_site_icon_def(self, project_name):
|
||||
return self._site_sync_model.get_active_site_icon_def(project_name)
|
||||
return self._sitesync_model.get_active_site_icon_def(project_name)
|
||||
|
||||
def get_remote_site_icon_def(self, project_name):
|
||||
return self._site_sync_model.get_remote_site_icon_def(project_name)
|
||||
return self._sitesync_model.get_remote_site_icon_def(project_name)
|
||||
|
||||
def get_version_sync_availability(self, project_name, version_ids):
|
||||
return self._site_sync_model.get_version_sync_availability(
|
||||
return self._sitesync_model.get_version_sync_availability(
|
||||
project_name, version_ids
|
||||
)
|
||||
|
||||
def get_representations_sync_status(
|
||||
self, project_name, representation_ids
|
||||
):
|
||||
return self._site_sync_model.get_representations_sync_status(
|
||||
return self._sitesync_model.get_representations_sync_status(
|
||||
project_name, representation_ids
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
from .selection import SelectionModel
|
||||
from .products import ProductsModel
|
||||
from .actions import LoaderActionsModel
|
||||
from .site_sync import SiteSyncModel
|
||||
from .sitesync import SiteSyncModel
|
||||
|
||||
|
||||
__all__ = (
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ class SiteSyncModel:
|
|||
self._controller = controller
|
||||
|
||||
self._site_icons = None
|
||||
self._site_sync_enabled_cache = NestedCacheItem(
|
||||
self._sitesync_enabled_cache = NestedCacheItem(
|
||||
levels=1, lifetime=self.lifetime
|
||||
)
|
||||
self._active_site_cache = NestedCacheItem(
|
||||
|
|
@ -57,17 +57,17 @@ class SiteSyncModel:
|
|||
)
|
||||
|
||||
manager = AddonsManager()
|
||||
self._site_sync_addon = manager.get("sync_server")
|
||||
self._sitesync_addon = manager.get("sitesync")
|
||||
|
||||
def reset(self):
|
||||
self._site_icons = None
|
||||
self._site_sync_enabled_cache.reset()
|
||||
self._sitesync_enabled_cache.reset()
|
||||
self._active_site_cache.reset()
|
||||
self._remote_site_cache.reset()
|
||||
self._version_availability_cache.reset()
|
||||
self._repre_status_cache.reset()
|
||||
|
||||
def is_site_sync_enabled(self, project_name=None):
|
||||
def is_sitesync_enabled(self, project_name=None):
|
||||
"""Site sync is enabled for a project.
|
||||
|
||||
Returns false if site sync addon is not available or enabled
|
||||
|
|
@ -82,13 +82,13 @@ class SiteSyncModel:
|
|||
bool: Site sync is enabled.
|
||||
"""
|
||||
|
||||
if not self._is_site_sync_addon_enabled():
|
||||
if not self._is_sitesync_addon_enabled():
|
||||
return False
|
||||
cache = self._site_sync_enabled_cache[project_name]
|
||||
cache = self._sitesync_enabled_cache[project_name]
|
||||
if not cache.is_valid:
|
||||
enabled = True
|
||||
if project_name:
|
||||
enabled = self._site_sync_addon.is_project_enabled(
|
||||
enabled = self._sitesync_addon.is_project_enabled(
|
||||
project_name, single=True
|
||||
)
|
||||
cache.update_data(enabled)
|
||||
|
|
@ -107,8 +107,8 @@ class SiteSyncModel:
|
|||
cache = self._active_site_cache[project_name]
|
||||
if not cache.is_valid:
|
||||
site_name = None
|
||||
if project_name and self._is_site_sync_addon_enabled():
|
||||
site_name = self._site_sync_addon.get_active_site(project_name)
|
||||
if project_name and self._is_sitesync_addon_enabled():
|
||||
site_name = self._sitesync_addon.get_active_site(project_name)
|
||||
cache.update_data(site_name)
|
||||
return cache.get_data()
|
||||
|
||||
|
|
@ -125,8 +125,8 @@ class SiteSyncModel:
|
|||
cache = self._remote_site_cache[project_name]
|
||||
if not cache.is_valid:
|
||||
site_name = None
|
||||
if project_name and self._is_site_sync_addon_enabled():
|
||||
site_name = self._site_sync_addon.get_remote_site(project_name)
|
||||
if project_name and self._is_sitesync_addon_enabled():
|
||||
site_name = self._sitesync_addon.get_remote_site(project_name)
|
||||
cache.update_data(site_name)
|
||||
return cache.get_data()
|
||||
|
||||
|
|
@ -140,7 +140,7 @@ class SiteSyncModel:
|
|||
Union[dict[str, Any], None]: Site icon definition.
|
||||
"""
|
||||
|
||||
if not project_name or not self.is_site_sync_enabled(project_name):
|
||||
if not project_name or not self.is_sitesync_enabled(project_name):
|
||||
return None
|
||||
active_site = self.get_active_site(project_name)
|
||||
return self._get_site_icon_def(project_name, active_site)
|
||||
|
|
@ -155,14 +155,14 @@ class SiteSyncModel:
|
|||
Union[dict[str, Any], None]: Site icon definition.
|
||||
"""
|
||||
|
||||
if not project_name or not self.is_site_sync_enabled(project_name):
|
||||
if not project_name or not self.is_sitesync_enabled(project_name):
|
||||
return None
|
||||
remote_site = self.get_remote_site(project_name)
|
||||
return self._get_site_icon_def(project_name, remote_site)
|
||||
|
||||
def _get_site_icon_def(self, project_name, site_name):
|
||||
# use different icon for studio even if provider is 'local_drive'
|
||||
if site_name == self._site_sync_addon.DEFAULT_SITE:
|
||||
if site_name == self._sitesync_addon.DEFAULT_SITE:
|
||||
provider = "studio"
|
||||
else:
|
||||
provider = self._get_provider_for_site(project_name, site_name)
|
||||
|
|
@ -179,7 +179,7 @@ class SiteSyncModel:
|
|||
dict[str, tuple[int, int]]
|
||||
"""
|
||||
|
||||
if not self.is_site_sync_enabled(project_name):
|
||||
if not self.is_sitesync_enabled(project_name):
|
||||
return {
|
||||
version_id: _default_version_availability()
|
||||
for version_id in version_ids
|
||||
|
|
@ -217,7 +217,7 @@ class SiteSyncModel:
|
|||
dict[str, tuple[float, float]]
|
||||
"""
|
||||
|
||||
if not self.is_site_sync_enabled(project_name):
|
||||
if not self.is_sitesync_enabled(project_name):
|
||||
return {
|
||||
repre_id: _default_repre_status()
|
||||
for repre_id in representation_ids
|
||||
|
|
@ -242,7 +242,7 @@ class SiteSyncModel:
|
|||
output[repre_id] = repre_cache.get_data()
|
||||
return output
|
||||
|
||||
def get_site_sync_action_items(self, project_name, representation_ids):
|
||||
def get_sitesync_action_items(self, project_name, representation_ids):
|
||||
"""
|
||||
|
||||
Args:
|
||||
|
|
@ -253,7 +253,7 @@ class SiteSyncModel:
|
|||
list[ActionItem]: Actions that can be shown in loader.
|
||||
"""
|
||||
|
||||
if not self.is_site_sync_enabled(project_name):
|
||||
if not self.is_sitesync_enabled(project_name):
|
||||
return []
|
||||
|
||||
repres_status = self.get_representations_sync_status(
|
||||
|
|
@ -289,7 +289,7 @@ class SiteSyncModel:
|
|||
|
||||
return action_items
|
||||
|
||||
def is_site_sync_action(self, identifier):
|
||||
def is_sitesync_action(self, identifier):
|
||||
"""Should be `identifier` handled by SiteSync.
|
||||
|
||||
Args:
|
||||
|
|
@ -353,22 +353,22 @@ class SiteSyncModel:
|
|||
)
|
||||
|
||||
elif identifier == REMOVE_IDENTIFIER:
|
||||
self._site_sync_addon.remove_site(
|
||||
self._sitesync_addon.remove_site(
|
||||
project_name,
|
||||
repre_id,
|
||||
active_site,
|
||||
remove_local_files=True
|
||||
)
|
||||
|
||||
def _is_site_sync_addon_enabled(self):
|
||||
def _is_sitesync_addon_enabled(self):
|
||||
"""
|
||||
Returns:
|
||||
bool: Site sync addon is enabled.
|
||||
"""
|
||||
|
||||
if self._site_sync_addon is None:
|
||||
if self._sitesync_addon is None:
|
||||
return False
|
||||
return self._site_sync_addon.enabled
|
||||
return self._sitesync_addon.enabled
|
||||
|
||||
def _get_provider_for_site(self, project_name, site_name):
|
||||
"""Provider for a site.
|
||||
|
|
@ -381,9 +381,9 @@ class SiteSyncModel:
|
|||
Union[str, None]: Provider name.
|
||||
"""
|
||||
|
||||
if not self._is_site_sync_addon_enabled():
|
||||
if not self._is_sitesync_addon_enabled():
|
||||
return None
|
||||
return self._site_sync_addon.get_provider_for_site(
|
||||
return self._sitesync_addon.get_provider_for_site(
|
||||
project_name, site_name
|
||||
)
|
||||
|
||||
|
|
@ -398,7 +398,7 @@ class SiteSyncModel:
|
|||
return None
|
||||
|
||||
if self._site_icons is None:
|
||||
self._site_icons = self._site_sync_addon.get_site_icons()
|
||||
self._site_icons = self._sitesync_addon.get_site_icons()
|
||||
return self._site_icons.get(provider)
|
||||
|
||||
def _refresh_version_availability(self, project_name, version_ids):
|
||||
|
|
@ -406,7 +406,7 @@ class SiteSyncModel:
|
|||
return
|
||||
project_cache = self._version_availability_cache[project_name]
|
||||
|
||||
avail_by_id = self._site_sync_addon.get_version_availability(
|
||||
avail_by_id = self._sitesync_addon.get_version_availability(
|
||||
project_name,
|
||||
version_ids,
|
||||
self.get_active_site(project_name),
|
||||
|
|
@ -425,7 +425,7 @@ class SiteSyncModel:
|
|||
return
|
||||
project_cache = self._repre_status_cache[project_name]
|
||||
status_by_repre_id = (
|
||||
self._site_sync_addon.get_representations_sync_state(
|
||||
self._sitesync_addon.get_representations_sync_state(
|
||||
project_name,
|
||||
representation_ids,
|
||||
self.get_active_site(project_name),
|
||||
|
|
@ -496,7 +496,7 @@ class SiteSyncModel:
|
|||
)
|
||||
|
||||
def _add_site(self, project_name, repre_entity, site_name, product_type):
|
||||
self._site_sync_addon.add_site(
|
||||
self._sitesync_addon.add_site(
|
||||
project_name, repre_entity["id"], site_name, force=True
|
||||
)
|
||||
|
||||
|
|
@ -513,7 +513,7 @@ class SiteSyncModel:
|
|||
try:
|
||||
print("Adding {} to linked representation: {}".format(
|
||||
site_name, link_repre_id))
|
||||
self._site_sync_addon.add_site(
|
||||
self._sitesync_addon.add_site(
|
||||
project_name,
|
||||
link_repre_id,
|
||||
site_name,
|
||||
|
|
@ -73,7 +73,7 @@ class ProductsModel(QtGui.QStandardItemModel):
|
|||
published_time_col = column_labels.index("Time")
|
||||
folders_label_col = column_labels.index("Folder")
|
||||
in_scene_col = column_labels.index("In scene")
|
||||
site_sync_avail_col = column_labels.index("Availability")
|
||||
sitesync_avail_col = column_labels.index("Availability")
|
||||
|
||||
def __init__(self, controller):
|
||||
super(ProductsModel, self).__init__()
|
||||
|
|
|
|||
|
|
@ -139,9 +139,9 @@ class ProductsWidget(QtWidgets.QWidget):
|
|||
products_view.setItemDelegateForColumn(
|
||||
products_model.in_scene_col, in_scene_delegate)
|
||||
|
||||
site_sync_delegate = SiteSyncDelegate()
|
||||
sitesync_delegate = SiteSyncDelegate()
|
||||
products_view.setItemDelegateForColumn(
|
||||
products_model.site_sync_avail_col, site_sync_delegate)
|
||||
products_model.sitesync_avail_col, sitesync_delegate)
|
||||
|
||||
main_layout = QtWidgets.QHBoxLayout(self)
|
||||
main_layout.setContentsMargins(0, 0, 0, 0)
|
||||
|
|
@ -176,7 +176,7 @@ class ProductsWidget(QtWidgets.QWidget):
|
|||
self._version_delegate = version_delegate
|
||||
self._time_delegate = time_delegate
|
||||
self._in_scene_delegate = in_scene_delegate
|
||||
self._site_sync_delegate = site_sync_delegate
|
||||
self._sitesync_delegate = sitesync_delegate
|
||||
|
||||
self._selected_project_name = None
|
||||
self._selected_folder_ids = set()
|
||||
|
|
@ -192,8 +192,8 @@ class ProductsWidget(QtWidgets.QWidget):
|
|||
products_model.in_scene_col,
|
||||
not controller.is_loaded_products_supported()
|
||||
)
|
||||
self._set_site_sync_visibility(
|
||||
self._controller.is_site_sync_enabled()
|
||||
self._set_sitesync_visibility(
|
||||
self._controller.is_sitesync_enabled()
|
||||
)
|
||||
|
||||
def set_name_filter(self, name):
|
||||
|
|
@ -229,10 +229,10 @@ class ProductsWidget(QtWidgets.QWidget):
|
|||
def refresh(self):
|
||||
self._refresh_model()
|
||||
|
||||
def _set_site_sync_visibility(self, site_sync_enabled):
|
||||
def _set_sitesync_visibility(self, sitesync_enabled):
|
||||
self._products_view.setColumnHidden(
|
||||
self._products_model.site_sync_avail_col,
|
||||
not site_sync_enabled
|
||||
self._products_model.sitesync_avail_col,
|
||||
not sitesync_enabled
|
||||
)
|
||||
|
||||
def _fill_version_editor(self):
|
||||
|
|
@ -395,10 +395,10 @@ class ProductsWidget(QtWidgets.QWidget):
|
|||
|
||||
def _on_folders_selection_change(self, event):
|
||||
project_name = event["project_name"]
|
||||
site_sync_enabled = self._controller.is_site_sync_enabled(
|
||||
sitesync_enabled = self._controller.is_sitesync_enabled(
|
||||
project_name
|
||||
)
|
||||
self._set_site_sync_visibility(site_sync_enabled)
|
||||
self._set_sitesync_visibility(sitesync_enabled)
|
||||
self._selected_project_name = project_name
|
||||
self._selected_folder_ids = event["folder_ids"]
|
||||
self._refresh_model()
|
||||
|
|
|
|||
|
|
@ -307,8 +307,8 @@ class RepresentationsWidget(QtWidgets.QWidget):
|
|||
self._repre_model = repre_model
|
||||
self._repre_proxy_model = repre_proxy_model
|
||||
|
||||
self._set_site_sync_visibility(
|
||||
self._controller.is_site_sync_enabled()
|
||||
self._set_sitesync_visibility(
|
||||
self._controller.is_sitesync_enabled()
|
||||
)
|
||||
self._set_multiple_folders_selected(False)
|
||||
|
||||
|
|
@ -320,19 +320,19 @@ class RepresentationsWidget(QtWidgets.QWidget):
|
|||
|
||||
def _on_project_change(self, event):
|
||||
self._selected_project_name = event["project_name"]
|
||||
site_sync_enabled = self._controller.is_site_sync_enabled(
|
||||
sitesync_enabled = self._controller.is_sitesync_enabled(
|
||||
self._selected_project_name
|
||||
)
|
||||
self._set_site_sync_visibility(site_sync_enabled)
|
||||
self._set_sitesync_visibility(sitesync_enabled)
|
||||
|
||||
def _set_site_sync_visibility(self, site_sync_enabled):
|
||||
def _set_sitesync_visibility(self, sitesync_enabled):
|
||||
self._repre_view.setColumnHidden(
|
||||
self._repre_model.active_site_column,
|
||||
not site_sync_enabled
|
||||
not sitesync_enabled
|
||||
)
|
||||
self._repre_view.setColumnHidden(
|
||||
self._repre_model.remote_site_column,
|
||||
not site_sync_enabled
|
||||
not sitesync_enabled
|
||||
)
|
||||
|
||||
def _set_multiple_folders_selected(self, selected_multiple_folders):
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ class SceneInventoryController:
|
|||
self._current_folder_id = None
|
||||
self._current_folder_set = False
|
||||
|
||||
self._site_sync_model = SiteSyncModel(self)
|
||||
self._sitesync_model = SiteSyncModel(self)
|
||||
# Switch dialog requirements
|
||||
self._hierarchy_model = HierarchyModel(self)
|
||||
self._event_system = self._create_event_system()
|
||||
|
|
@ -47,7 +47,7 @@ class SceneInventoryController:
|
|||
self._current_folder_id = None
|
||||
self._current_folder_set = False
|
||||
|
||||
self._site_sync_model.reset()
|
||||
self._sitesync_model.reset()
|
||||
self._hierarchy_model.reset()
|
||||
|
||||
def get_current_context(self):
|
||||
|
|
@ -89,22 +89,22 @@ class SceneInventoryController:
|
|||
return []
|
||||
|
||||
# Site Sync methods
|
||||
def is_sync_server_enabled(self):
|
||||
return self._site_sync_model.is_sync_server_enabled()
|
||||
def is_sitesync_enabled(self):
|
||||
return self._sitesync_model.is_sitesync_enabled()
|
||||
|
||||
def get_sites_information(self):
|
||||
return self._site_sync_model.get_sites_information()
|
||||
return self._sitesync_model.get_sites_information()
|
||||
|
||||
def get_site_provider_icons(self):
|
||||
return self._site_sync_model.get_site_provider_icons()
|
||||
return self._sitesync_model.get_site_provider_icons()
|
||||
|
||||
def get_representations_site_progress(self, representation_ids):
|
||||
return self._site_sync_model.get_representations_site_progress(
|
||||
return self._sitesync_model.get_representations_site_progress(
|
||||
representation_ids
|
||||
)
|
||||
|
||||
def resync_representations(self, representation_ids, site_type):
|
||||
return self._site_sync_model.resync_representations(
|
||||
return self._sitesync_model.resync_representations(
|
||||
representation_ids, site_type
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from .site_sync import SiteSyncModel
|
||||
from .sitesync import SiteSyncModel
|
||||
|
||||
|
||||
__all__ = (
|
||||
|
|
|
|||
|
|
@ -9,30 +9,30 @@ class SiteSyncModel:
|
|||
def __init__(self, controller):
|
||||
self._controller = controller
|
||||
|
||||
self._sync_server_module = NOT_SET
|
||||
self._sync_server_enabled = None
|
||||
self._sitesync_addon = NOT_SET
|
||||
self._sitesync_enabled = None
|
||||
self._active_site = NOT_SET
|
||||
self._remote_site = NOT_SET
|
||||
self._active_site_provider = NOT_SET
|
||||
self._remote_site_provider = NOT_SET
|
||||
|
||||
def reset(self):
|
||||
self._sync_server_module = NOT_SET
|
||||
self._sync_server_enabled = None
|
||||
self._sitesync_addon = NOT_SET
|
||||
self._sitesync_enabled = None
|
||||
self._active_site = NOT_SET
|
||||
self._remote_site = NOT_SET
|
||||
self._active_site_provider = NOT_SET
|
||||
self._remote_site_provider = NOT_SET
|
||||
|
||||
def is_sync_server_enabled(self):
|
||||
def is_sitesync_enabled(self):
|
||||
"""Site sync is enabled.
|
||||
|
||||
Returns:
|
||||
bool: Is enabled or not.
|
||||
"""
|
||||
|
||||
self._cache_sync_server_module()
|
||||
return self._sync_server_enabled
|
||||
self._cache_sitesync_addon()
|
||||
return self._sitesync_enabled
|
||||
|
||||
def get_site_provider_icons(self):
|
||||
"""Icon paths per provider.
|
||||
|
|
@ -41,10 +41,10 @@ class SiteSyncModel:
|
|||
dict[str, str]: Path by provider name.
|
||||
"""
|
||||
|
||||
if not self.is_sync_server_enabled():
|
||||
if not self.is_sitesync_enabled():
|
||||
return {}
|
||||
site_sync_addon = self._get_sync_server_module()
|
||||
return site_sync_addon.get_site_icons()
|
||||
sitesync_addon = self._get_sitesync_addon()
|
||||
return sitesync_addon.get_site_icons()
|
||||
|
||||
def get_sites_information(self):
|
||||
return {
|
||||
|
|
@ -65,11 +65,11 @@ class SiteSyncModel:
|
|||
}
|
||||
for repre_id in representation_ids
|
||||
}
|
||||
if not self.is_sync_server_enabled():
|
||||
if not self.is_sitesync_enabled():
|
||||
return output
|
||||
|
||||
project_name = self._controller.get_current_project_name()
|
||||
site_sync = self._get_sync_server_module()
|
||||
sitesync_addon = self._get_sitesync_addon()
|
||||
repre_entities = ayon_api.get_representations(
|
||||
project_name, representation_ids
|
||||
)
|
||||
|
|
@ -78,7 +78,7 @@ class SiteSyncModel:
|
|||
|
||||
for repre_entity in repre_entities:
|
||||
repre_output = output[repre_entity["id"]]
|
||||
result = site_sync.get_progress_for_repre(
|
||||
result = sitesync_addon.get_progress_for_repre(
|
||||
repre_entity, active_site, remote_site
|
||||
)
|
||||
repre_output["active_site"] = result[active_site]
|
||||
|
|
@ -95,7 +95,7 @@ class SiteSyncModel:
|
|||
"""
|
||||
|
||||
project_name = self._controller.get_current_project_name()
|
||||
site_sync = self._get_sync_server_module()
|
||||
sitesync_addon = self._get_sitesync_addon()
|
||||
active_site = self._get_active_site()
|
||||
remote_site = self._get_remote_site()
|
||||
progress = self.get_representations_site_progress(
|
||||
|
|
@ -115,22 +115,22 @@ class SiteSyncModel:
|
|||
site = remote_site
|
||||
|
||||
if check_progress == 1:
|
||||
site_sync.add_site(
|
||||
sitesync_addon.add_site(
|
||||
project_name, repre_id, site, force=True
|
||||
)
|
||||
|
||||
def _get_sync_server_module(self):
|
||||
self._cache_sync_server_module()
|
||||
return self._sync_server_module
|
||||
def _get_sitesync_addon(self):
|
||||
self._cache_sitesync_addon()
|
||||
return self._sitesync_addon
|
||||
|
||||
def _cache_sync_server_module(self):
|
||||
if self._sync_server_module is not NOT_SET:
|
||||
return self._sync_server_module
|
||||
def _cache_sitesync_addon(self):
|
||||
if self._sitesync_addon is not NOT_SET:
|
||||
return self._sitesync_addon
|
||||
manager = AddonsManager()
|
||||
site_sync = manager.get("sync_server")
|
||||
sync_enabled = site_sync is not None and site_sync.enabled
|
||||
self._sync_server_module = site_sync
|
||||
self._sync_server_enabled = sync_enabled
|
||||
sitesync_addon = manager.get("sitesync")
|
||||
sync_enabled = sitesync_addon is not None and sitesync_addon.enabled
|
||||
self._sitesync_addon = sitesync_addon
|
||||
self._sitesync_enabled = sync_enabled
|
||||
|
||||
def _get_active_site(self):
|
||||
if self._active_site is NOT_SET:
|
||||
|
|
@ -157,19 +157,19 @@ class SiteSyncModel:
|
|||
remote_site = None
|
||||
active_site_provider = None
|
||||
remote_site_provider = None
|
||||
if self.is_sync_server_enabled():
|
||||
site_sync = self._get_sync_server_module()
|
||||
if self.is_sitesync_enabled():
|
||||
sitesync_addon = self._get_sitesync_addon()
|
||||
project_name = self._controller.get_current_project_name()
|
||||
active_site = site_sync.get_active_site(project_name)
|
||||
remote_site = site_sync.get_remote_site(project_name)
|
||||
active_site = sitesync_addon.get_active_site(project_name)
|
||||
remote_site = sitesync_addon.get_remote_site(project_name)
|
||||
active_site_provider = "studio"
|
||||
remote_site_provider = "studio"
|
||||
if active_site != "studio":
|
||||
active_site_provider = site_sync.get_provider_for_site(
|
||||
active_site_provider = sitesync_addon.get_provider_for_site(
|
||||
project_name, active_site
|
||||
)
|
||||
if remote_site != "studio":
|
||||
remote_site_provider = site_sync.get_provider_for_site(
|
||||
remote_site_provider = sitesync_addon.get_provider_for_site(
|
||||
project_name, remote_site
|
||||
)
|
||||
|
||||
|
|
@ -311,9 +311,9 @@ class SceneInventoryView(QtWidgets.QTreeView):
|
|||
|
||||
menu.addAction(remove_action)
|
||||
|
||||
self._handle_sync_server(menu, repre_ids)
|
||||
self._handle_sitesync(menu, repre_ids)
|
||||
|
||||
def _handle_sync_server(self, menu, repre_ids):
|
||||
def _handle_sitesync(self, menu, repre_ids):
|
||||
"""Adds actions for download/upload when SyncServer is enabled
|
||||
|
||||
Args:
|
||||
|
|
@ -324,7 +324,7 @@ class SceneInventoryView(QtWidgets.QTreeView):
|
|||
(OptionMenu)
|
||||
"""
|
||||
|
||||
if not self._controller.is_sync_server_enabled():
|
||||
if not self._controller.is_sitesync_enabled():
|
||||
return
|
||||
|
||||
menu.addSeparator()
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ class SceneInventoryWindow(QtWidgets.QDialog):
|
|||
view = SceneInventoryView(controller, self)
|
||||
view.setModel(proxy)
|
||||
|
||||
sync_enabled = controller.is_sync_server_enabled()
|
||||
sync_enabled = controller.is_sitesync_enabled()
|
||||
view.setColumnHidden(model.active_site_col, not sync_enabled)
|
||||
view.setColumnHidden(model.remote_site_col, not sync_enabled)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue