From ca8b07496f25775e91e3ce4ef147813d0246e198 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Wed, 27 Nov 2019 08:56:49 +0100 Subject: [PATCH] allow server.run without python-daemon is python-deamon is not installed, secop-server should work without '-d' option. Change-Id: I2d64379a7612931c55f1d9cdbdb2cb424453c675 Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21909 Tested-by: JenkinsCodeReview Reviewed-by: Markus Zolliker --- secop/server.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/secop/server.py b/secop/server.py index 5eef4ed..e7d3acb 100644 --- a/secop/server.py +++ b/secop/server.py @@ -29,16 +29,19 @@ import threading import configparser from collections import OrderedDict -from daemon import DaemonContext +try: + from daemon import DaemonContext + try: + import daemon.pidlockfile as pidlockfile + except ImportError: + import daemon.pidfile as pidlockfile +except ImportError: + DaemonContext = None from secop.errors import ConfigError from secop.lib import formatException, get_class, getGeneralConfig from secop.modules import Attached -try: - import daemon.pidlockfile as pidlockfile -except ImportError: - import daemon.pidfile as pidlockfile class Server: @@ -75,6 +78,8 @@ class Server: self._interface = None def start(self): + if not DaemonContext: + raise ConfigError('can not daemonize, as python-daemon is not installed') piddir = os.path.dirname(self._pidfile) if not os.path.isdir(piddir): os.makedirs(piddir)