summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-01-30 10:19:22 +0200
committerLars Wirzenius <liw@liw.fi>2021-01-30 11:52:41 +0200
commitef171a1cfde855704459f87d921ca245434d781f (patch)
treec5749e495ce63b6d81d61c65f9e4c9ef95d68e5e
parent80bdaa2e4a12a037d8f6b3a7658289b02df1cd1b (diff)
downloadewww-ef171a1cfde855704459f87d921ca245434d781f.tar.gz
refactor: use subplot's lib/daemon in ewww.py
-rw-r--r--subplot/ewww.py31
1 files 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.