Merge branch 'master' of gitlab.psi.ch:samenv/servicemanager

This commit is contained in:
l_samenv 2022-04-26 09:54:32 +02:00
commit 5640c4ea08

View File

@ -23,7 +23,7 @@
import sys import sys
import os import os
from glob import glob from glob import glob
from os.path import join, isdir, basename from os.path import join, isdir, basename, expanduser
from configparser import ConfigParser from configparser import ConfigParser
from servicemanager.base import ServiceManager, ServiceDown, UsageError from servicemanager.base import ServiceManager, ServiceDown, UsageError
@ -49,21 +49,22 @@ class FrappyManager(ServiceManager):
cfgpaths = [] cfgpaths = []
cfgparser = ConfigParser() cfgparser = ConfigParser()
cfgparser.optionxform = str cfgparser.optionxform = str
cfgparser.read(self.env[ins]['FRAPPY_CONFIG_FILE']) cfgfile = self.env[ins]['FRAPPY_CONFIG_FILE'].replace('<SERV>', service)
for cfgpath in cfgparser['confdir'].split(os.pathsep): cfgparser.read(cfgfile)
for cfgpath in cfgparser['FRAPPY']['confdir'].split(os.pathsep):
if cfgpath.endswith('<SERV>'): if cfgpath.endswith('<SERV>'):
cfgpaths.append(cfgpath[:-4] + service) cfgpaths.append(cfgpath[:-6] + service)
else: else:
scfg = join(cfgpath, service) scfg = join(cfgpath, service)
if isdir(scfg): if isdir(scfg):
cfgpaths.append(scfg) cfgpaths.append(scfg)
cfgpaths.append(cfgpath) cfgpaths.append(expanduser(cfgpath))
return cfgpaths return cfgpaths
def prepare_start(self, ins, service, cfg=''): def prepare_start(self, ins, service, cfg=''):
start_dir, env = super().prepare_start(ins, service) start_dir, env = super().prepare_start(ins, service)
for key, value in env.items(): for key, value in env.items():
if key.startswith('FRAPPY_') and '<SERV>' in value: if '<SERV>' in value:
env[key] = value.replace('<SERV>', service) env[key] = value.replace('<SERV>', service)
os.environ[key] = env[key] os.environ[key] = env[key]
cfgpaths = self.config_dirs(ins, service) cfgpaths = self.config_dirs(ins, service)