mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 08:24:53 +01:00
♻️ natural sort versions
This commit is contained in:
parent
53877ebe96
commit
097638c9e5
2 changed files with 21 additions and 4 deletions
|
|
@ -100,7 +100,12 @@ def inject_openpype_environment(deadlinePlugin):
|
|||
if requested_version:
|
||||
# sort detected versions
|
||||
if openpype_versions:
|
||||
openpype_versions.sort(key=lambda ver: ver[0])
|
||||
# use natural sorting
|
||||
openpype_versions.sort(
|
||||
key=lambda ver: [
|
||||
int(t) if t.isdigit() else t.lower()
|
||||
for t in re.split('(\d+)', ver[0])
|
||||
])
|
||||
print(("*** Latest available version found is "
|
||||
f"{openpype_versions[-1][0]}"))
|
||||
requested_major, requested_minor, _ = requested_version.split(".")[:3] # noqa: E501
|
||||
|
|
@ -117,7 +122,11 @@ def inject_openpype_environment(deadlinePlugin):
|
|||
"in Deadline or install it to configured "
|
||||
"directory.").format(requested_version))
|
||||
# sort compatible versions nad pick the last one
|
||||
compatible_versions.sort(key=lambda ver: ver[0])
|
||||
compatible_versions.sort(
|
||||
key=lambda ver: [
|
||||
int(t) if t.isdigit() else t.lower()
|
||||
for t in re.split('(\d+)', ver[0])
|
||||
])
|
||||
print(("*** Latest compatible version found is "
|
||||
f"{compatible_versions[-1][0]}"))
|
||||
# create list of executables for different platform and let
|
||||
|
|
|
|||
|
|
@ -132,7 +132,11 @@ class OpenPypeDeadlinePlugin(DeadlinePlugin):
|
|||
if requested_version:
|
||||
# sort detected versions
|
||||
if openpype_versions:
|
||||
openpype_versions.sort(key=lambda ver: ver[0])
|
||||
openpype_versions.sort(
|
||||
key=lambda ver: [
|
||||
int(t) if t.isdigit() else t.lower()
|
||||
for t in re.split('(\d+)', ver[0])
|
||||
])
|
||||
requested_major, requested_minor, _ = requested_version.split(".")[:3] # noqa: E501
|
||||
compatible_versions = []
|
||||
for version in openpype_versions:
|
||||
|
|
@ -146,7 +150,11 @@ class OpenPypeDeadlinePlugin(DeadlinePlugin):
|
|||
"in Deadline or install it to configured "
|
||||
"directory.").format(requested_version))
|
||||
# sort compatible versions nad pick the last one
|
||||
compatible_versions.sort(key=lambda ver: ver[0])
|
||||
compatible_versions.sort(
|
||||
key=lambda ver: [
|
||||
int(t) if t.isdigit() else t.lower()
|
||||
for t in re.split('(\d+)', ver[0])
|
||||
])
|
||||
# create list of executables for different platform and let
|
||||
# Deadline decide.
|
||||
exe_list = [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue