From 5b4e474f4d028213810738fba4fe47ec7bb75632 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 25 May 2023 18:14:36 +0200 Subject: [PATCH] AYON: Staging versions can be used (#4992) * enhanced AddonInfo to be able get info about staging or any version * AyonDistribution is checking for use staging value * removed unused function * addons in modules manager use right versions * use right variant for settings * added temporary staging icons * fix 'is_running_staging' for ayon mode --- .../distribution/addon_distribution.py | 43 ++++++-------- common/ayon_common/distribution/addon_info.py | 54 +++++++++++++++--- common/ayon_common/resources/AYON_staging.png | Bin 0 -> 15273 bytes common/ayon_common/resources/__init__.py | 2 + openpype/lib/openpype_version.py | 4 ++ openpype/modules/base.py | 9 ++- openpype/resources/__init__.py | 7 ++- .../resources/icons/AYON_icon_staging.png | Bin 0 -> 15273 bytes .../resources/icons/AYON_splash_staging.png | Bin 0 -> 20527 bytes openpype/settings/ayon_settings.py | 5 +- 10 files changed, 86 insertions(+), 38 deletions(-) create mode 100644 common/ayon_common/resources/AYON_staging.png create mode 100644 openpype/resources/icons/AYON_icon_staging.png create mode 100644 openpype/resources/icons/AYON_splash_staging.png diff --git a/common/ayon_common/distribution/addon_distribution.py b/common/ayon_common/distribution/addon_distribution.py index dba6c20193..19aec2b031 100644 --- a/common/ayon_common/distribution/addon_distribution.py +++ b/common/ayon_common/distribution/addon_distribution.py @@ -322,22 +322,6 @@ class AyonServerDownloader(SourceDownloader): os.remove(filepath) -def get_addons_info(): - """Returns list of addon information from Server - - Returns: - List[AddonInfo]: List of metadata for addons sent from server, - parsed in AddonInfo objects - """ - - addons_info = [] - for addon in ayon_api.get_addons_info(details=True)["addons"]: - addon_info = AddonInfo.from_dict(addon) - if addon_info is not None: - addons_info.append(addon_info) - return addons_info - - def get_dependency_package(package_name=None): """Returns info about currently used dependency package. @@ -745,13 +729,16 @@ class AyonDistribution: Arguments are available for testing of the class. Args: - addon_dirpath (str): Where addons will be stored. - dependency_dirpath (str): Where dependencies will be stored. - dist_factory (DownloadFactory): Factory which cares about downloading - of items based on source type. - addons_info (List[AddonInfo]): List of prepared addons info. - dependency_package_info (Union[Dict[str, Any], None]): Dependency - package info from server. Defaults to '-1'. + addon_dirpath (Optional[str]): Where addons will be stored. + dependency_dirpath (Optional[str]): Where dependencies will be stored. + dist_factory (Optional[DownloadFactory]): Factory which cares about + downloading of items based on source type. + addons_info (Optional[List[AddonInfo]]): List of prepared addons' info. + dependency_package_info (Optional[Union[Dict[str, Any], None]]): Info + about package from server. Defaults to '-1'. + use_staging (Optional[bool]): Use staging versions of an addon. + If not passed, an environment variable 'OPENPYPE_USE_STAGING' is + checked for value '1'. """ def __init__( @@ -761,6 +748,7 @@ class AyonDistribution: dist_factory=None, addons_info=None, dependency_package_info=-1, + use_staging=None ): self._addons_dirpath = addon_dirpath or get_addons_dir() self._dependency_dirpath = dependency_dirpath or get_dependencies_dir() @@ -777,6 +765,13 @@ class AyonDistribution: self._addons_dist_items = None self._dependency_package = dependency_package_info self._dependency_dist_item = -1 + self._use_staging = use_staging + + @property + def use_staging(self): + if self._use_staging is None: + self._use_staging = os.getenv("OPENPYPE_USE_STAGING") == "1" + return self._use_staging @property def log(self): @@ -803,7 +798,7 @@ class AyonDistribution: addons_info = {} server_addons_info = ayon_api.get_addons_info(details=True) for addon in server_addons_info["addons"]: - addon_info = AddonInfo.from_dict(addon) + addon_info = AddonInfo.from_dict(addon, self.use_staging) if addon_info is None: continue addons_info[addon_info.full_name] = addon_info diff --git a/common/ayon_common/distribution/addon_info.py b/common/ayon_common/distribution/addon_info.py index 6da6f11ead..74f7b11f7f 100644 --- a/common/ayon_common/distribution/addon_info.py +++ b/common/ayon_common/distribution/addon_info.py @@ -98,19 +98,32 @@ class AddonInfo(object): authors = attr.ib(default=None) @classmethod - def from_dict(cls, data): - sources = [] - unknown_sources = [] + def from_dict_by_version(cls, data, addon_version): + """Addon info for specific version. - production_version = data.get("productionVersion") - if not production_version: + Args: + data (dict[str, Any]): Addon information from server. Should + contain information about every version under 'versions'. + addon_version (str): Addon version for which is info requested. + + Returns: + Union[AddonInfo, None]: Addon info, or None if version is not + available. + """ + + if not addon_version: return None # server payload contains info about all versions - # active addon must have 'productionVersion' and matching version info - version_data = data.get("versions", {})[production_version] + version_data = data.get("versions", {}).get(addon_version) + if not version_data: + return None + source_info = version_data.get("clientSourceInfo") require_distribution = source_info is not None + + sources = [] + unknown_sources = [] for source in (source_info or []): addon_source = convert_source(source) if addon_source is not None: @@ -119,10 +132,10 @@ class AddonInfo(object): unknown_sources.append(source) print(f"Unknown source {source.get('type')}") - full_name = "{}_{}".format(data["name"], production_version) + full_name = "{}_{}".format(data["name"], addon_version) return cls( name=data.get("name"), - version=production_version, + version=addon_version, full_name=full_name, require_distribution=require_distribution, sources=sources, @@ -134,6 +147,29 @@ class AddonInfo(object): authors=data.get("authors") ) + @classmethod + def from_dict(cls, data, use_staging=False): + """Get Addon information for production or staging version. + + Args: + data (dict[str, Any]): Addon information from server. Should + contain information about every version under 'versions'. + use_staging (bool): Use staging version if set to 'True' instead + of production. + + Returns: + Union[AddonInfo, None]: Addon info, or None if version is not + set or available. + """ + + # Active addon must have 'productionVersion' or 'stagingVersion' + # and matching version info. + if use_staging: + addon_version = data.get("stagingVersion") + else: + addon_version = data.get("productionVersion") + return cls.from_dict_by_version(data, addon_version) + @attr.s class DependencyItem(object): diff --git a/common/ayon_common/resources/AYON_staging.png b/common/ayon_common/resources/AYON_staging.png new file mode 100644 index 0000000000000000000000000000000000000000..75dadfd56c812d3bee941e90ecdd7f9f18831760 GIT binary patch literal 15273 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 Vr*$JL34HDeq4bR}Rp~lD`afSKqZR-F literal 0 HcmV?d00001 diff --git a/common/ayon_common/resources/__init__.py b/common/ayon_common/resources/__init__.py index ca61295b94..21e5fef6b2 100644 --- a/common/ayon_common/resources/__init__.py +++ b/common/ayon_common/resources/__init__.py @@ -10,6 +10,8 @@ def get_resource_path(*args): def get_icon_path(): + if os.environ.get("OPENPYPE_USE_STAGING") == "1": + return get_resource_path("AYON_staging.png") return get_resource_path("AYON.png") diff --git a/openpype/lib/openpype_version.py b/openpype/lib/openpype_version.py index e052002468..bdf7099f61 100644 --- a/openpype/lib/openpype_version.py +++ b/openpype/lib/openpype_version.py @@ -13,6 +13,7 @@ import os import sys import openpype.version +from openpype import AYON_SERVER_ENABLED from .python_module_tools import import_filepath @@ -88,6 +89,9 @@ def is_running_staging(): bool: Using staging version or not. """ + if AYON_SERVER_ENABLED: + return is_staging_enabled() + if os.environ.get("OPENPYPE_IS_STAGING") == "1": return True diff --git a/openpype/modules/base.py b/openpype/modules/base.py index c1e928ff48..ab18c15f9a 100644 --- a/openpype/modules/base.py +++ b/openpype/modules/base.py @@ -34,8 +34,9 @@ from openpype.settings.lib import ( from openpype.lib import ( Logger, import_filepath, - import_module_from_dirpath + import_module_from_dirpath, ) +from openpype.lib.openpype_version import is_staging_enabled from .interfaces import ( OpenPypeInterface, @@ -353,9 +354,13 @@ def _load_ayon_addons(openpype_modules, modules_key, log): )) return v3_addons_to_skip + version_key = ( + "stagingVersion" if is_staging_enabled() + else "productionVersion" + ) for addon_info in addons_info: addon_name = addon_info["name"] - addon_version = addon_info.get("productionVersion") + addon_version = addon_info.get(version_key) if not addon_version: continue diff --git a/openpype/resources/__init__.py b/openpype/resources/__init__.py index 77cc0deaa2..b8671f517a 100644 --- a/openpype/resources/__init__.py +++ b/openpype/resources/__init__.py @@ -50,7 +50,7 @@ def get_openpype_production_icon_filepath(): def get_openpype_staging_icon_filepath(): filename = "openpype_icon_staging.png" if AYON_SERVER_ENABLED: - filename = "AYON_icon.png" + filename = "AYON_icon_staging.png" return get_resource("icons", filename) @@ -68,7 +68,10 @@ def get_openpype_splash_filepath(staging=None): staging = is_running_staging() if AYON_SERVER_ENABLED: - splash_file_name = "AYON_splash.png" + if staging: + splash_file_name = "AYON_splash_staging.png" + else: + splash_file_name = "AYON_splash.png" elif staging: splash_file_name = "openpype_splash_staging.png" else: diff --git a/openpype/resources/icons/AYON_icon_staging.png b/openpype/resources/icons/AYON_icon_staging.png new file mode 100644 index 0000000000000000000000000000000000000000..75dadfd56c812d3bee941e90ecdd7f9f18831760 GIT binary patch literal 15273 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 Vr*$JL34HDeq4bR}Rp~lD`afSKqZR-F literal 0 HcmV?d00001 diff --git a/openpype/resources/icons/AYON_splash_staging.png b/openpype/resources/icons/AYON_splash_staging.png new file mode 100644 index 0000000000000000000000000000000000000000..2923413664e8d14b37ee4344b928656b2bb6c0b8 GIT binary patch literal 20527 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 literal 0 HcmV?d00001 diff --git a/openpype/settings/ayon_settings.py b/openpype/settings/ayon_settings.py index ea2b72e580..00d4a27939 100644 --- a/openpype/settings/ayon_settings.py +++ b/openpype/settings/ayon_settings.py @@ -20,6 +20,7 @@ import time import six import ayon_api +from openpype.lib.openpype_version import is_staging_enabled def _convert_color(color_value): @@ -1089,7 +1090,9 @@ class AyonSettingsCache: cls._production_settings is None or cls._production_settings.is_outdated ): - value = ayon_api.get_addons_settings(only_values=False) + variant = "staging" if is_staging_enabled() else "production" + value = ayon_api.get_addons_settings( + only_values=False, variant=variant) if cls._production_settings is None: cls._production_settings = CacheItem(value) else: