From ef171a1cfde855704459f87d921ca245434d781f Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 30 Jan 2021 10:19:22 +0200 Subject: refactor: use subplot's lib/daemon in ewww.py --- subplot/ewww.py | 31 +++++++------------------------ 1 file changed, 7 insertions(+), 24 deletions(-) diff --git a/subplot/ewww.py b/subplot/ewww.py index 43e5946..d53b74c 100644 --- a/subplot/ewww.py +++ b/subplot/ewww.py @@ -5,8 +5,6 @@ import logging import os import random import shutil -import socket -import time import urllib.parse import yaml @@ -62,7 +60,8 @@ def copy_test_certificate(ctx, cert=None, key=None): # Start server using named configuration file. def start_server(ctx, filename=None): get_file = globals()["get_file"] - start_daemon = globals()["start_daemon"] + daemon_start_on_port = globals()["daemon_start_on_port"] + logging.debug(f"Starting ewww with config file {filename}") config = get_file(filename).decode("UTF-8") config = yaml.safe_load(config) @@ -72,32 +71,16 @@ def start_server(ctx, filename=None): config = yaml.safe_dump(config) _write(filename, config) - start_daemon(ctx, "ewww", [_binary("ewww"), filename]) - - if not port_open("localhost", port, 5.0): - stderr = open(ctx["daemon"]["ewww"]["stderr"]).read() - logging.debug(f"Stderr from daemon: {stderr!r}") - - -# Wait for a port to be open -def port_open(host, port, timeout): - logging.debug(f"Waiting for port localhost:{port} to be available") - started = time.time() - while time.time() < started + timeout: - try: - socket.create_connection((host, port), timeout=timeout) - return True - except socket.error: - pass - logging.error(f"Port localhost:{port} is not open") - return False + daemon_start_on_port( + ctx, path=_binary("ewww"), args=filename, name="ewww", port=port + ) # Stop previously started server. def stop_server(ctx): - stop_daemon = globals()["stop_daemon"] + daemon_stop = globals()["daemon_stop"] logging.debug("Stopping ewww") - stop_daemon(ctx, "ewww") + daemon_stop(ctx, name="ewww") # Make an HTTP request. -- cgit v1.2.1