Mercurial > repos > iuc > astral
view version_command.py @ 0:7c60c0620fb3 draft default tip
planemo upload for repository https://github.com/usegalaxy-be/galaxytools/tree/main/astral commit 10aeeb461530c00256dc13695f45eba8d8c6ccb5
author | iuc |
---|---|
date | Wed, 28 Aug 2024 12:53:33 +0000 |
parents | |
children |
line wrap: on
line source
#!/usr/bin/env python """Modules to execute shell commands (through child process) and regex""" import re import subprocess def get_astral_version(): """Function that will parse the Astral version from `astral --help`.""" try: # run the `astral --help` command result = subprocess.run( ['astral', '--help'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, check=False ) # save the output output = result.stdout + result.stderr # Regex pattern that matches the version string from the help message version_pattern = re.compile(r'This is ASTRAL version (\d+\.\d+\.\d+)') # search for the version pattern in the output match = version_pattern.search(output) if match: # extract and return the version string return match.group(1) print("Version information not found in `astral --help` output.") return None except subprocess.CalledProcessError as e: print(f"Command failed with error: {e}") return None except FileNotFoundError as e: print(f"Command not found: {e}") return None except Exception as e: print(f"An error occurred: {e}") return None # call the function and print the version version = get_astral_version() if version: print(version)