Index: leahi_dialin/version.py =================================================================== diff -u --- leahi_dialin/version.py (revision 0) +++ leahi_dialin/version.py (revision f8c8af8419655d29685451540605d90509c461fa) @@ -0,0 +1,84 @@ +########################################################################### +# +# Copyright (c) 2020-2024 Diality Inc. - All Rights Reserved. +# +# THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN +# WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. +# +# @file version.py +# +# @author (last) Jonny Paguio +# @date (last) 14-Aug-2025 +# @author (original) Peter Lucia +# @date (original) 22-Jun-2021 +# +############################################################################ +import subprocess +import os.path + +VERSION = "1.0.0" + + +def get_branch(): + """ + Gets the current branch name in the current git repository + + @return: The current branch name, None if it can't be determined + """ + + try: + # Change the folder to where this file is for git versioning and then back to the original position + curdir = os.path.abspath(os.curdir) + os.chdir(os.path.dirname(__file__)) + res = subprocess.check_output("git rev-parse --abbrev-ref HEAD", shell=True).decode("utf-8").strip() + os.chdir(curdir) + return res + except subprocess.CalledProcessError: + return None + + +def get_last_commit(): + """ + Gets the latest commit in the current git repository + + @return: (str) The latest commit in the current git repository, None if it can't be determined + """ + try: + # Change the folder to where this file is for git versioning and then back to the original position + curdir = os.path.abspath(os.curdir) + os.chdir(os.path.dirname(__file__)) + res = subprocess.check_output("git rev-parse --short=7 HEAD", shell=True).decode("utf-8").strip() + os.chdir(curdir) + return res + except subprocess.CalledProcessError: + return None + + +def check_if_git_repo(): + """ + Checks if we're in a git repo or not to know if we can get the git branch and commit + + @return: True if in a git repo, False otherwise + """ + + curdir = os.path.abspath(os.curdir) + os.chdir(os.path.dirname(__file__)) + res = subprocess.call(["git", "branch"], stderr=subprocess.DEVNULL, stdout=subprocess.DEVNULL) == 0 + os.chdir(curdir) + return res + + +branch = None +commit = None + +DEV_VERSION = VERSION + +if check_if_git_repo(): + branch = get_branch() + commit = get_last_commit() + DEV_VERSION += ".{0}".format(branch) + DEV_VERSION += ".{0}".format(commit) + + +if __name__ == '__main__': + print(VERSION) \ No newline at end of file