From c2986f3b14aacb1690881e346f60a34021dd4fc1 Mon Sep 17 00:00:00 2001 From: Astound Date: Sat, 1 Mar 2025 04:06:01 +0800 Subject: Refactoring get_app_version --- youtube/get_app_version/get_app_version.py | 48 ++++++++++++------------------ 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/youtube/get_app_version/get_app_version.py b/youtube/get_app_version/get_app_version.py index 9852359..4995bb7 100644 --- a/youtube/get_app_version/get_app_version.py +++ b/youtube/get_app_version/get_app_version.py @@ -11,17 +11,10 @@ import subprocess def app_version(): def minimal_env_cmd(cmd): # make minimal environment - env = {} - for k in ['SYSTEMROOT', 'PATH']: - v = os.environ.get(k) - if v is not None: - env[k] = v - - env['LANGUAGE'] = 'C' - env['LANG'] = 'C' - env['LC_ALL'] = 'C' - out = subprocess.Popen( - cmd, stdout=subprocess.PIPE, env=env).communicate()[0] + env = {k: os.environ[k] for k in ['SYSTEMROOT', 'PATH'] if k in os.environ} + env.update({'LANGUAGE': 'C', 'LANG': 'C', 'LC_ALL': 'C'}) + + out = subprocess.Popen(cmd, stdout=subprocess.PIPE, env=env).communicate()[0] return out subst_list = { @@ -31,24 +24,21 @@ def app_version(): } if os.system("command -v git > /dev/null 2>&1") != 0: - subst_list - else: - if call(["git", "branch"], stderr=STDOUT, - stdout=open(os.devnull, 'w')) != 0: - subst_list - else: - # version - describe = minimal_env_cmd(["git", "describe", "--always"]) - git_revision = describe.strip().decode('ascii') - # branch - branch = minimal_env_cmd(["git", "branch"]) - git_branch = branch.strip().decode('ascii').replace('* ', '') - - subst_list = { - "version": __version__, - "branch": git_branch, - "commit": git_revision - } + return subst_list + + if call(["git", "branch"], stderr=STDOUT, stdout=open(os.devnull, 'w')) != 0: + return subst_list + + describe = minimal_env_cmd(["git", "describe", "--tags", "--always"]) + git_revision = describe.strip().decode('ascii') + + branch = minimal_env_cmd(["git", "branch"]) + git_branch = branch.strip().decode('ascii').replace('* ', '') + + subst_list.update({ + "branch": git_branch, + "commit": git_revision + }) return subst_list -- cgit v1.2.3