From ec131dc5c34e46db99a86a8c6ce88979a3696af8 Mon Sep 17 00:00:00 2001 From: Enrico Faulhaber Date: Mon, 25 Jun 2018 14:53:19 +0200 Subject: [PATCH] server: allow absolute pathnames for cfg files will be extensivly used by tests. Change-Id: I250fe9b7c2fdcd489efcde28a6558629d90eb810 Reviewed-on: https://forge.frm2.tum.de/review/18253 Tested-by: JenkinsCodeReview Reviewed-by: Markus Zolliker --- secop/server.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/secop/server.py b/secop/server.py index 84de3b1..4bd4de6 100644 --- a/secop/server.py +++ b/secop/server.py @@ -54,14 +54,23 @@ from secop.errors import ConfigError class Server(object): def __init__(self, name, parent_logger=None): + cfg = getGeneralConfig() + + # also handle absolut paths + if os.path.abspath(name) == name and os.path.exists(name) and \ + name.endswith('.cfg'): + self._cfgfile = name + self._pidfile = os.path.join(cfg[u'piddir'], + name[:-4].replace(os.path.sep, '_') + u'.pid') + name = os.path.basename(name[:-4]) + else: + self._cfgfile = os.path.join(cfg[u'confdir'], name + u'.cfg') + self._pidfile = os.path.join(cfg[u'piddir'], name + u'.pid') + self._name = name self.log = parent_logger.getChild(name, True) - cfg = getGeneralConfig() - self._pidfile = os.path.join(cfg[u'piddir'], name + u'.pid') - self._cfgfile = os.path.join(cfg[u'confdir'], name + u'.cfg') - self._dispatcher = None self._interface = None