From 1ef840f0cb2532f362e7651f8e3d7bf5523c72a0 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Mon, 1 Jul 2024 11:57:32 +0200 Subject: [PATCH 1/3] AY-1232 - removed unnecessary get_site_local_overrides Has wrong arguments, it would require SiteSync addon. Used only in dirmap file, where it could be replaced directly by SiteSync addon's method. --- client/ayon_core/settings/lib.py | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/client/ayon_core/settings/lib.py b/client/ayon_core/settings/lib.py index 3929818d31..3126bafd57 100644 --- a/client/ayon_core/settings/lib.py +++ b/client/ayon_core/settings/lib.py @@ -123,22 +123,6 @@ class _AyonSettingsCache: return cache_item.get_value() -def get_site_local_overrides(project_name, site_name, local_settings=None): - """Site overrides from local settings for passet project and site name. - - Deprecated: - This function is not implemented for AYON and will be removed. - - Args: - project_name (str): For which project are overrides. - site_name (str): For which site are overrides needed. - local_settings (dict): Preloaded local settings. They are loaded - automatically if not passed. - """ - - return {} - - def get_ayon_settings(project_name=None): """AYON studio settings. From d4e90a4eb212a347db60179168f6793ff88bbdf4 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Mon, 1 Jul 2024 12:03:28 +0200 Subject: [PATCH 2/3] AY-1232 - used addon's get_site_root_overrides Addon's get_site_root_overrides should return overridden root values for any site which is overridden by Site Settings. 'studio' site is currently overridden by `Roots` tab and comes from project settings directly. --- client/ayon_core/host/dirmap.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/client/ayon_core/host/dirmap.py b/client/ayon_core/host/dirmap.py index 2e24877d28..d809abaefd 100644 --- a/client/ayon_core/host/dirmap.py +++ b/client/ayon_core/host/dirmap.py @@ -15,7 +15,6 @@ import six from ayon_core.lib import Logger from ayon_core.addon import AddonsManager from ayon_core.settings import get_project_settings -from ayon_core.settings.lib import get_site_local_overrides @six.add_metaclass(ABCMeta) @@ -181,17 +180,14 @@ class HostDirmap(object): exclude_locals=False, cached=False) - # TODO implement - # Dirmap is dependent on 'get_site_local_overrides' which - # is not implemented in AYON. The mapping should be received - # from sitesync addon. - active_overrides = get_site_local_overrides( + # overrides for roots set in `Site Settings` + active_roots = sitesync_addon.get_site_root_overrides( project_name, active_site) - remote_overrides = get_site_local_overrides( + remote_roots = sitesync_addon.get_site_root_overrides( project_name, remote_site) - self.log.debug("local overrides {}".format(active_overrides)) - self.log.debug("remote overrides {}".format(remote_overrides)) + self.log.debug("active roots overrides {}".format(active_roots)) + self.log.debug("remote roots overrides {}".format(remote_roots)) current_platform = platform.system().lower() remote_provider = sitesync_addon.get_provider_for_site( @@ -201,9 +197,9 @@ class HostDirmap(object): # won't be root on cloud or sftp provider if remote_provider != "local_drive": remote_site = "studio" - for root_name, active_site_dir in active_overrides.items(): + for root_name, active_site_dir in active_roots.items(): remote_site_dir = ( - remote_overrides.get(root_name) + remote_roots.get(root_name) or sync_settings["sites"][remote_site]["root"][root_name] ) From 1298cb5a765f871af8cf9a77ff42e9121036a2f3 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Mon, 1 Jul 2024 12:04:00 +0200 Subject: [PATCH 3/3] AY-1232 - use faster method to check site sync enabled on project --- client/ayon_core/host/dirmap.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/ayon_core/host/dirmap.py b/client/ayon_core/host/dirmap.py index d809abaefd..8766e7485d 100644 --- a/client/ayon_core/host/dirmap.py +++ b/client/ayon_core/host/dirmap.py @@ -162,7 +162,7 @@ class HostDirmap(object): if ( sitesync_addon is None or not sitesync_addon.enabled - or project_name not in sitesync_addon.get_enabled_projects() + or not sitesync_addon.is_project_enabled(project_name, True) ): return mapping