use new methods in find frozen openpype

This commit is contained in:
iLLiCiTiT 2021-12-09 12:04:13 +01:00
parent 27df5b5d92
commit d219ff0cd1

View file

@ -665,33 +665,25 @@ def _find_frozen_openpype(use_version: str = None,
""" """
# Collect OpenPype versions # Collect OpenPype versions
openpype_versions = bootstrap.find_openpype( build_version = OpenPypeVersion.get_build_version()
include_zips=True, # Expected version that should be used by studio settings
staging=use_staging # - this option is used only if version is not explictly set and if
) # studio has set explicit version in settings
local_version = OpenPypeVersion.get_build_version()
if local_version not in openpype_versions:
openpype_versions.append(local_version)
studio_version = OpenPypeVersion.get_expected_studio_version(use_staging) studio_version = OpenPypeVersion.get_expected_studio_version(use_staging)
openpype_versions.sort()
# Find OpenPype version that should be used
openpype_version = None
if use_version is not None: if use_version is not None:
# Specific version is defined
if use_version.lower() == "latest": if use_version.lower() == "latest":
_print("Finding latest version") # Version says to use latest version
openpype_version = openpype_versions[-1] _print("Finding latest version defined by use version")
openpype_version = bootstrap.find_latest_openpype_version(
use_staging
)
else: else:
use_version_obj = OpenPypeVersion(use_version)
# Version was specified with arguments or env OPENPYPE_VERSION
# - should crash if version is not available
_print("Finding specified version \"{}\"".format(use_version)) _print("Finding specified version \"{}\"".format(use_version))
for version in openpype_versions: openpype_version = bootstrap.find_openpype_version(
if version == use_version_obj: use_version, use_staging
openpype_version = version )
break
if openpype_version is None: if openpype_version is None:
raise OpenPypeVersionNotFound( raise OpenPypeVersionNotFound(
@ -700,13 +692,12 @@ def _find_frozen_openpype(use_version: str = None,
) )
) )
elif studio_version: elif studio_version is not None:
# Studio has defined a version to use
_print("Finding studio version \"{}\"".format(studio_version)) _print("Finding studio version \"{}\"".format(studio_version))
# Look for version specified by settings openpype_version = bootstrap.find_openpype_version(
for version in openpype_versions: studio_version, use_staging
if version == studio_version: )
openpype_version = version
break
if openpype_version is None: if openpype_version is None:
raise OpenPypeVersionNotFound(( raise OpenPypeVersionNotFound((
"Requested OpenPype version \"{}\" defined by settings" "Requested OpenPype version \"{}\" defined by settings"
@ -714,13 +705,21 @@ def _find_frozen_openpype(use_version: str = None,
).format(studio_version)) ).format(studio_version))
else: else:
# Use latest available version # Default behavior to use latest version
_print("Finding latest version") _print("Finding latest version")
openpype_version = openpype_versions[-1] openpype_version = bootstrap.find_latest_openpype_version(
use_staging
)
if openpype_version is None:
if use_staging:
reason = "Didn't find any staging versions."
else:
reason = "Didn't find any versions."
raise OpenPypeVersionNotFound(reason)
# get local frozen version and add it to detected version so if it is # get local frozen version and add it to detected version so if it is
# newer it will be used instead. # newer it will be used instead.
if local_version == openpype_version: if build_version == openpype_version:
version_path = _bootstrap_from_code(use_version, use_staging) version_path = _bootstrap_from_code(use_version, use_staging)
openpype_version = OpenPypeVersion( openpype_version = OpenPypeVersion(
version=BootstrapRepos.get_version(version_path), version=BootstrapRepos.get_version(version_path),