Skip to content

Commit

Permalink
Site Sync: small fixes in Loader (#6119)
Browse files Browse the repository at this point in the history
* Fix usage of correct values

Returned item is dictionary of version_id: links, previous loop was looping through [[]].

* Fix usage of studio icon

local and studio have both same provider, local_drive. Both of them should be differentiate by icon though.

* Fix - pull only paths from icon_def

Icon_def is dictionary with `type` and `path` keys, not directly 'path'.
It must be massaged first.

* Revert back, fixed in different PR

Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>

* Fix looping

Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>

---------

Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com>
  • Loading branch information
kalisp and iLLiCiTiT committed Jan 12, 2024
1 parent 47cf95e commit 0461540
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 18 deletions.
23 changes: 12 additions & 11 deletions openpype/client/server/entity_links.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,23 +124,24 @@ def get_linked_representation_id(
if not versions_to_check:
break

links = con.get_versions_links(
versions_links = con.get_versions_links(
project_name,
versions_to_check,
link_types=link_types,
link_direction="out")

versions_to_check = set()
for link in links:
# Care only about version links
if link["entityType"] != "version":
continue
entity_id = link["entityId"]
# Skip already found linked version ids
if entity_id in linked_version_ids:
continue
linked_version_ids.add(entity_id)
versions_to_check.add(entity_id)
for links in versions_links.values():
for link in links:
# Care only about version links
if link["entityType"] != "version":
continue
entity_id = link["entityId"]
# Skip already found linked version ids
if entity_id in linked_version_ids:
continue
linked_version_ids.add(entity_id)
versions_to_check.add(entity_id)

linked_version_ids.remove(version_id)
if not linked_version_ids:
Expand Down
15 changes: 10 additions & 5 deletions openpype/tools/ayon_loader/models/site_sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,12 +140,10 @@ def get_active_site_icon_def(self, project_name):
Union[dict[str, Any], None]: Site icon definition.
"""

if not project_name:
if not project_name or not self.is_site_sync_enabled(project_name):
return None

active_site = self.get_active_site(project_name)
provider = self._get_provider_for_site(project_name, active_site)
return self._get_provider_icon(provider)
return self._get_site_icon_def(project_name, active_site)

def get_remote_site_icon_def(self, project_name):
"""Remote site icon definition.
Expand All @@ -160,7 +158,14 @@ def get_remote_site_icon_def(self, project_name):
if not project_name or not self.is_site_sync_enabled(project_name):
return None
remote_site = self.get_remote_site(project_name)
provider = self._get_provider_for_site(project_name, remote_site)
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:
provider = "studio"
else:
provider = self._get_provider_for_site(project_name, site_name)
return self._get_provider_icon(provider)

def get_version_sync_availability(self, project_name, version_ids):
Expand Down
4 changes: 2 additions & 2 deletions openpype/tools/ayon_sceneinventory/models/site_sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ def get_site_provider_icons(self):

if not self.is_sync_server_enabled():
return {}
site_sync = self._get_sync_server_module()
return site_sync.get_site_icons()
site_sync_addon = self._get_sync_server_module()
return site_sync_addon.get_site_icons()

def get_sites_information(self):
return {
Expand Down

0 comments on commit 0461540

Please sign in to comment.