aboutsummaryrefslogtreecommitdiffstats
path: root/klippy
diff options
context:
space:
mode:
authorEric Callahan <arksine.code@gmail.com>2023-05-03 06:05:37 -0400
committerKevinOConnor <kevin@koconnor.net>2023-05-04 14:07:14 -0400
commita3eebab4f2b90822f76de91487ff3d4158b80494 (patch)
tree7c745d276f0eb688dfa5baea514b12e7a704343f /klippy
parentb89a049fdb2455678df08cca9b66b78a71143394 (diff)
downloadkutter-a3eebab4f2b90822f76de91487ff3d4158b80494.tar.gz
kutter-a3eebab4f2b90822f76de91487ff3d4158b80494.tar.xz
kutter-a3eebab4f2b90822f76de91487ff3d4158b80494.zip
util: report git version info as a dict
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Diffstat (limited to 'klippy')
-rw-r--r--klippy/klippy.py15
-rw-r--r--klippy/util.py17
2 files changed, 21 insertions, 11 deletions
diff --git a/klippy/klippy.py b/klippy/klippy.py
index 5fa3ea4e..097cff99 100644
--- a/klippy/klippy.py
+++ b/klippy/klippy.py
@@ -343,12 +343,14 @@ def main():
else:
logging.getLogger().setLevel(debuglevel)
logging.info("Starting Klippy...")
- git_vers, git_status, repo_info = util.get_git_version()
- extra_files = [fname for code, fname in git_status
+ git_info = util.get_git_version()
+ git_vers = git_info["version"]
+ extra_files = [fname for code, fname in git_info["file_status"]
if (code in ('??', '!!') and fname.endswith('.py')
and (fname.startswith('klippy/kinematics/')
or fname.startswith('klippy/extras/')))]
- modified_files = [fname for code, fname in git_status if code == 'M']
+ modified_files = [fname for code, fname in git_info["file_status"]
+ if code == 'M']
extra_git_desc = ""
if extra_files:
if not git_vers.endswith('-dirty'):
@@ -360,10 +362,9 @@ def main():
if len(modified_files) > 10:
modified_files[10:] = ["(+%d files)" % (len(modified_files) - 10,)]
extra_git_desc += "\nModified files: %s" % (', '.join(modified_files),)
- if repo_info:
- extra_git_desc += "\nBranch: %s" % (repo_info["branch"])
- extra_git_desc += "\nRemote: %s" % (repo_info["remote"])
- extra_git_desc += "\nTracked URL: %s" % (repo_info["url"])
+ extra_git_desc += "\nBranch: %s" % (git_info["branch"])
+ extra_git_desc += "\nRemote: %s" % (git_info["remote"])
+ extra_git_desc += "\nTracked URL: %s" % (git_info["url"])
start_args['software_version'] = git_vers
start_args['cpu_info'] = util.get_cpu_info()
if bglogger is not None:
diff --git a/klippy/util.py b/klippy/util.py
index 8e18a843..6a8baee7 100644
--- a/klippy/util.py
+++ b/klippy/util.py
@@ -183,6 +183,13 @@ def _get_repo_info(gitdir):
return repo_info
def get_git_version(from_file=True):
+ git_info = {
+ "version": "?",
+ "file_status": [],
+ "branch": "?",
+ "remote": "?",
+ "url": "?"
+ }
klippy_src = os.path.dirname(__file__)
# Obtain version info from "git" program
@@ -196,6 +203,7 @@ def get_git_version(from_file=True):
ver, err = process.communicate()
retcode = process.wait()
if retcode == 0:
+ git_info["version"] = str(ver.strip().decode())
process = subprocess.Popen(prog_status, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
stat, err = process.communicate()
@@ -203,15 +211,16 @@ def get_git_version(from_file=True):
for l in str(stat.strip().decode()).split('\n')]
retcode = process.wait()
if retcode == 0:
- repo_info = _get_repo_info(gitdir)
- return (str(ver.strip().decode()), status, repo_info)
+ git_info["file_status"] = status
else:
logging.debug("Error getting git status: %s", err)
+ git_info.update(_get_repo_info(gitdir))
+ return git_info
else:
logging.debug("Error getting git version: %s", err)
except:
logging.debug("Exception on run: %s", traceback.format_exc())
if from_file:
- return (get_version_from_file(klippy_src), [], {})
- return ("?", [], {})
+ git_info["version"] = get_version_from_file(klippy_src)
+ return git_info