diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2020-08-11 16:40:07 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2020-08-16 13:20:25 -0400 |
commit | b74a5c5217955ed550f4c223395c848c5d8d282e (patch) | |
tree | d94e45c828fed1309e7032123ce4347d63841fa9 /klippy/webhooks.py | |
parent | 0aad2437c516c6c7e506179760c8b5e6556be8b1 (diff) | |
download | kutter-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>
Diffstat (limited to 'klippy/webhooks.py')
-rw-r--r-- | klippy/webhooks.py | 39 |
1 files changed, 10 insertions, 29 deletions
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': |