aboutsummaryrefslogtreecommitdiffstats
path: root/klippy
diff options
context:
space:
mode:
Diffstat (limited to 'klippy')
-rw-r--r--klippy/klippy.py36
-rw-r--r--klippy/util.py123
2 files changed, 5 insertions, 154 deletions
diff --git a/klippy/klippy.py b/klippy/klippy.py
index 17293af9..093b6619 100644
--- a/klippy/klippy.py
+++ b/klippy/klippy.py
@@ -8,6 +8,8 @@ import sys, os, gc, optparse, logging, time, collections, importlib
import util, reactor, queuelogger, msgproto
import gcode, configfile, pins, mcu, toolhead, webhooks
+__version__ = "0.1.0-rc1"
+
message_ready = "Printer is ready"
message_startup = """
@@ -367,44 +369,14 @@ def main():
else:
logging.getLogger().setLevel(debuglevel)
logging.info("Starting Klippy...")
- 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_info["file_status"] if code == "M"]
- extra_git_desc = ""
- if extra_files:
- if not git_vers.endswith("-dirty"):
- git_vers = git_vers + "-dirty"
- if len(extra_files) > 10:
- extra_files[10:] = ["(+%d files)" % (len(extra_files) - 10,)]
- extra_git_desc += "\nUntracked files: %s" % (", ".join(extra_files),)
- if modified_files:
- if len(modified_files) > 10:
- modified_files[10:] = ["(+%d files)" % (len(modified_files) - 10,)]
- extra_git_desc += "\nModified files: %s" % (", ".join(modified_files),)
- 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["software_version"] = __version__
start_args["cpu_info"] = util.get_cpu_info()
start_args["runtime_config"] = options.runtime_config
if bglogger is not None:
versions = "\n".join(
[
"Args: %s" % (sys.argv,),
- "Git version: %s%s"
- % (repr(start_args["software_version"]), extra_git_desc),
+ "Version: %s" % (__version__,),
"CPU: %s" % (start_args["cpu_info"],),
"Python: %s" % (repr(sys.version),),
]
diff --git a/klippy/util.py b/klippy/util.py
index b43a7f1c..8ad8ccaa 100644
--- a/klippy/util.py
+++ b/klippy/util.py
@@ -4,7 +4,7 @@
#
# This file may be distributed under the terms of the GNU GPLv3 license.
import os, pty, fcntl, termios, signal, logging, json, time
-import subprocess, traceback, shlex
+import traceback
######################################################################
@@ -117,124 +117,3 @@ def get_cpu_info():
core_count = [k for k, v in lines].count("processor")
model_name = dict(lines).get("model name", "?")
return "%d core %s" % (core_count, model_name)
-
-
-def get_version_from_file(klippy_src):
- try:
- with open(os.path.join(klippy_src, ".version")) as h:
- return h.read().rstrip()
- except IOError:
- pass
- return "?"
-
-
-def _get_repo_info(gitdir):
- repo_info = {"branch": "?", "remote": "?", "url": "?"}
- prog_branch = ("git", "-C", gitdir, "branch", "--no-color")
- try:
- process = subprocess.Popen(
- prog_branch, stdout=subprocess.PIPE, stderr=subprocess.PIPE
- )
- branch_list, err = process.communicate()
- retcode = process.wait()
- if retcode != 0:
- logging.debug("Error running git branch: %s", err)
- return repo_info
- lines = str(branch_list.strip().decode()).split("\n")
- for line in lines:
- if line[0] == "*":
- repo_info["branch"] = line[1:].strip()
- break
- else:
- logging.debug("Unable to find current branch:\n%s", branch_list)
- return repo_info
- if repo_info["branch"].startswith("(HEAD detached"):
- parts = repo_info["branch"].strip("()").split()[-1].split("/", 1)
- if len(parts) != 2:
- return repo_info
- repo_info["remote"] = parts[0]
- else:
- key = "branch.%s.remote" % (repo_info["branch"],)
- prog_config = ("git", "-C", gitdir, "config", "--get", key)
- process = subprocess.Popen(
- prog_config, stdout=subprocess.PIPE, stderr=subprocess.PIPE
- )
- remote_info, err = process.communicate()
- retcode = process.wait()
- if retcode != 0:
- logging.debug("Error running git config: %s", err)
- return repo_info
- repo_info["remote"] = str(remote_info.strip().decode())
- prog_remote_url = (
- "git",
- "-C",
- gitdir,
- "remote",
- "get-url",
- repo_info["remote"],
- )
- process = subprocess.Popen(
- prog_remote_url, stdout=subprocess.PIPE, stderr=subprocess.PIPE
- )
- remote_url, err = process.communicate()
- retcode = process.wait()
- if retcode != 0:
- logging.debug("Error running git remote get-url: %s", err)
- return repo_info
- repo_info["url"] = str(remote_url.strip().decode())
- except:
- logging.debug("Error fetching repo info: %s", traceback.format_exc())
- 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
- gitdir = os.path.join(klippy_src, "..")
- prog_desc = (
- "git",
- "-C",
- gitdir,
- "describe",
- "--always",
- "--tags",
- "--long",
- "--dirty",
- )
- prog_status = ("git", "-C", gitdir, "status", "--porcelain", "--ignored")
- try:
- process = subprocess.Popen(
- prog_desc, stdout=subprocess.PIPE, stderr=subprocess.PIPE
- )
- 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()
- status = [l.split(None, 1) for l in str(stat.strip().decode()).split("\n")]
- retcode = process.wait()
- if retcode == 0:
- 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:
- git_info["version"] = get_version_from_file(klippy_src)
- return git_info