aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2020-08-11 16:40:07 -0400
committerKevin O'Connor <kevin@koconnor.net>2020-08-16 13:20:25 -0400
commitb74a5c5217955ed550f4c223395c848c5d8d282e (patch)
treed94e45c828fed1309e7032123ce4347d63841fa9
parent0aad2437c516c6c7e506179760c8b5e6556be8b1 (diff)
downloadkutter-b74a5c5217955ed550f4c223395c848c5d8d282e.tar.gz
kutter-b74a5c5217955ed550f4c223395c848c5d8d282e.tar.xz
kutter-b74a5c5217955ed550f4c223395c848c5d8d282e.zip
webhooks: Remove register_static_path()
Use the "info" webhook to pass critical process information back to the caller. The remaining users of register_static_path() can get the required information via get_status() calls. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--klippy/extras/virtual_sdcard.py3
-rw-r--r--klippy/webhooks.py39
2 files changed, 10 insertions, 32 deletions
diff --git a/klippy/extras/virtual_sdcard.py b/klippy/extras/virtual_sdcard.py
index d1abf1be..7ab58654 100644
--- a/klippy/extras/virtual_sdcard.py
+++ b/klippy/extras/virtual_sdcard.py
@@ -35,9 +35,6 @@ class VirtualSD:
self.gcode.register_command(
"SDCARD_PRINT_FILE", self.cmd_SDCARD_PRINT_FILE,
desc=self.cmd_SDCARD_PRINT_FILE_help)
- # Register sd path
- webhooks = printer.lookup_object('webhooks')
- webhooks.register_static_path("sd_path", self.sdcard_dirname)
def handle_shutdown(self):
if self.work_timer is not None:
self.must_pause_work = True
diff --git a/klippy/webhooks.py b/klippy/webhooks.py
index de480d27..30807db8 100644
--- a/klippy/webhooks.py
+++ b/klippy/webhooks.py
@@ -255,19 +255,8 @@ class WebHooks:
def __init__(self, printer):
self.printer = printer
self._endpoints = {"list_endpoints": self._handle_list_endpoints}
- self._static_paths = []
self.register_endpoint("info", self._handle_info_request)
self.register_endpoint("emergency_stop", self._handle_estop_request)
- start_args = printer.get_start_args()
- log_file = start_args.get('log_file')
- cfg_file = start_args.get('config_file')
- klipper_path = os.path.normpath(os.path.join(
- os.path.dirname(__file__), ".."))
- if log_file is not None:
- self.register_static_path("klippy.log", log_file)
- self.register_static_path("printer.cfg", cfg_file)
- self.register_static_path("klippy_env", sys.executable)
- self.register_static_path("klipper_path", klipper_path)
self.sconn = ServerSocket(self, printer)
StatusHandler(self)
@@ -293,30 +282,22 @@ class WebHooks:
raise WebRequestError("Path already registered to an endpoint")
self._endpoints[path] = callback
- def register_static_path(self, resource_id, file_path):
- static_path_info = {
- 'resource_id': resource_id, 'file_path': file_path}
- self._static_paths.append(static_path_info)
-
def _handle_list_endpoints(self, web_request):
- web_request.send({
- 'hooks': self._endpoints.keys(),
- 'static_paths': self._static_paths})
+ web_request.send({'endpoints': self._endpoints.keys()})
def _handle_info_request(self, web_request):
if web_request.get_method() != 'GET':
raise web_request.error("Invalid Request Method")
+ state_message, state = self.printer.get_state_message()
+ klipper_path = os.path.normpath(os.path.join(
+ os.path.dirname(__file__), ".."))
+ response = {'state': state, 'state_message': state_message,
+ 'hostname': socket.gethostname(),
+ 'klipper_path': klipper_path, 'python_path': sys.executable}
start_args = self.printer.get_start_args()
- state_message, msg_type = self.printer.get_state_message()
- version = start_args['software_version']
- cpu_info = start_args['cpu_info']
- error = msg_type == "error"
- web_request.send(
- {'cpu': cpu_info, 'version': version,
- 'hostname': socket.gethostname(),
- 'is_ready': msg_type == "ready",
- 'error_detected': error,
- 'message': state_message})
+ for sa in ['log_file', 'config_file', 'software_version', 'cpu_info']:
+ response[sa] = start_args.get(sa)
+ web_request.send(response)
def _handle_estop_request(self, web_request):
if web_request.get_method() != 'POST':