use different names for seaconn in different frappy services

This commit is contained in:
l_samenv 2021-04-09 11:46:24 +02:00
parent a5cc98d0b0
commit 331dc544ad

View File

@ -48,20 +48,26 @@ from secop.modules import Attached, Command, Done, Drivable, \
Module, Parameter, Property, Readable, Writable Module, Parameter, Property, Readable, Writable
from secop.protocol.dispatcher import make_update from secop.protocol.dispatcher import make_update
CFG_HEADER = """[seaconn]
CFG_HEADER = """[%(seaconn)s]
class = secop_psi.sea.SeaClient class = secop_psi.sea.SeaClient
description = SEA connection to %(samenv)s description = SEA connection to %(samenv)s
config = %(config)s config = %(config)s
%(export)s service = %(service)s
""" """
CFG_MODULE = """ CFG_MODULE = """
[%(module)s] [%(module)s]
class = secop_psi.sea.%(modcls)s class = secop_psi.sea.%(modcls)s
iodev = seaconn iodev = %(seaconn)s
sea_object = %(module)s sea_object = %(module)s
""" """
SERVICE_NAMES = {
'config': 'main',
'stick': 'stick',
'addon': 'addons',
}
SEA_DIR = expanduser('~/sea') SEA_DIR = expanduser('~/sea')
for confdir in getGeneralConfig()['confdir'].split(os.pathsep): for confdir in getGeneralConfig()['confdir'].split(os.pathsep):
@ -281,12 +287,14 @@ class SeaClient(ProxyClient, Module):
result = [] result = []
for filename, descr in modules.items(): for filename, descr in modules.items():
stripped = filename.rpartition('.')[0] stripped, _, ext = filename.rpartition('.')
service = SERVICE_NAMES[ext]
seaconn = 'sea_' + service
with open(join(seaconfdir, stripped + '.cfg'), 'w') as fp: with open(join(seaconfdir, stripped + '.cfg'), 'w') as fp:
fp.write(CFG_HEADER % dict(samenv=samenv, config=filename, fp.write(CFG_HEADER % dict(
export='' if filename.endswith('.config') else 'export=False')) samenv=samenv, config=filename, seaconn=seaconn, service=service))
for obj in descr: for obj in descr:
fp.write(CFG_MODULE % dict(modcls=modcls[obj], module=obj)) fp.write(CFG_MODULE % dict(modcls=modcls[obj], module=obj, seaconn=seaconn))
content = json.dumps(descr).replace('}, {', '},\n{') content = json.dumps(descr).replace('}, {', '},\n{')
with open(join(seaconfdir, filename + '.json'), 'w') as fp: with open(join(seaconfdir, filename + '.json'), 'w') as fp:
fp.write(content + '\n') fp.write(content + '\n')