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 <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
This commit is contained in:
Enrico Faulhaber 2018-06-25 14:53:19 +02:00
parent df0b59d0ec
commit ec131dc5c3

View File

@ -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