diff options
author | Jesús <heckyel@hyperbola.info> | 2020-12-17 15:31:11 -0500 |
---|---|---|
committer | Jesús <heckyel@hyperbola.info> | 2020-12-17 15:31:11 -0500 |
commit | a7c1f2a34ec5592597d7b09c4b240dfcf968273f (patch) | |
tree | 6be5fceaef647303b1f7368bfa18d0ec2af2034b /youtube/get_app_version/get_app_version.py | |
parent | 5edcaa4f9dcfd005f3ed633ddcb5b432e954877e (diff) | |
download | yt-local-a7c1f2a34ec5592597d7b09c4b240dfcf968273f.tar.lz yt-local-a7c1f2a34ec5592597d7b09c4b240dfcf968273f.tar.xz yt-local-a7c1f2a34ec5592597d7b09c4b240dfcf968273f.zip |
Add get_app_version and version
Diffstat (limited to 'youtube/get_app_version/get_app_version.py')
-rw-r--r-- | youtube/get_app_version/get_app_version.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/youtube/get_app_version/get_app_version.py b/youtube/get_app_version/get_app_version.py new file mode 100644 index 0000000..51eb2ce --- /dev/null +++ b/youtube/get_app_version/get_app_version.py @@ -0,0 +1,54 @@ +from __future__ import unicode_literals +from subprocess import ( + call, + STDOUT +) +from ..version import __version__ +import os +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] + return out + + if call(["git", "branch"], stderr=STDOUT, + stdout=open(os.devnull, 'w')) != 0: + + subst_list = { + "version": __version__, + "branch": None, + "commit": None + } + + 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 __name__ == "__main__": + app_version() |