diff options
-rw-r--r-- | youtube/get_app_version/get_app_version.py | 48 |
1 files 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 |