Safer way to detect python package version

This commit is contained in:
Antoine Nguyen
2024-04-09 13:01:43 +02:00
parent 0ccd81c92b
commit 9eda3b81be

View File

@@ -58,10 +58,12 @@ def get_package_version(name, venv=None, **kwargs):
f"Output is: {output}") f"Output is: {output}")
sys.exit(1) sys.exit(1)
output_list = output.decode().split("\n")
version_item_list = output_list[1].split(":")
version_list = version_item_list[1].split(".")
version_list_clean = [] version_list_clean = []
for line in output.decode().split("\n"):
if not line.startswith("Version:"):
continue
version_item_list = line.split(":")
version_list = version_item_list[1].split(".")
for element in version_list: for element in version_list:
try: try:
version_list_clean.append(int(element)) version_list_clean.append(int(element))
@@ -70,6 +72,11 @@ def get_package_version(name, venv=None, **kwargs):
f"Failed to decode some part of the version of {name}", f"Failed to decode some part of the version of {name}",
utils.YELLOW) utils.YELLOW)
version_list_clean.append(element) version_list_clean.append(element)
if len(version_list_clean) == 0:
utils.printcolor(
f"Failed to find the version of {name}",
utils.RED)
sys.exit(1)
return version_list_clean return version_list_clean