aboutsummaryrefslogtreecommitdiffstats
path: root/youtube/get_app_version
diff options
context:
space:
mode:
Diffstat (limited to 'youtube/get_app_version')
-rw-r--r--youtube/get_app_version/__init__.py1
-rw-r--r--youtube/get_app_version/get_app_version.py47
2 files changed, 48 insertions, 0 deletions
diff --git a/youtube/get_app_version/__init__.py b/youtube/get_app_version/__init__.py
new file mode 100644
index 0000000..2d5290f
--- /dev/null
+++ b/youtube/get_app_version/__init__.py
@@ -0,0 +1 @@
+from .get_app_version import *
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..4995bb7
--- /dev/null
+++ b/youtube/get_app_version/get_app_version.py
@@ -0,0 +1,47 @@
+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 = {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 = {
+ "version": __version__,
+ "branch": None,
+ "commit": None
+ }
+
+ if os.system("command -v git > /dev/null 2>&1") != 0:
+ 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
+
+
+if __name__ == "__main__":
+ app_version()