diff --git a/cfg/main/mbe.cfg b/cfg/main/mbe.cfg index 96fbe8f..0b1b3f1 100644 --- a/cfg/main/mbe.cfg +++ b/cfg/main/mbe.cfg @@ -19,6 +19,6 @@ iodev = sea_main sea_object = p [table] -class = secop_psi.sea.SeaReadable +class = secop_psi.sea.SeaModule iodev = sea_main sea_object = table diff --git a/secop_psi/sea.py b/secop_psi/sea.py index e35af10..f39ed9f 100644 --- a/secop_psi/sea.py +++ b/secop_psi/sea.py @@ -364,6 +364,7 @@ class SeaModule(Module): visibility_level = cfgdict.pop('visibility_level', 2) single_module = cfgdict.pop('single_module', None) + print('new module', cls, single_module) if single_module: sea_object, base, paramdesc = extra_modules[single_module] params = [paramdesc] @@ -389,6 +390,7 @@ class SeaModule(Module): # sea_object, descr = json.load(fp) with open(join(seaconfdir, json_file)) as fp: descr = json.load(fp)[sea_object] + print(cls, 'rel_paths', rel_paths) if rel_paths == '*' or not rel_paths: # take all main = descr['params'][0] @@ -418,7 +420,10 @@ class SeaModule(Module): descr['params'] = result rel0 = '' if rel_paths[0] == '.' else rel_paths[0] if result[0]['path'] == rel0: - result[0]['key'] = 'value' + if isinstance(cls, Readable): + result[0]['key'] = 'value' + else: + result.pop(0) else: logger.error('%s: no value found', name) # logger.info('PARAMS %s %r', name, result) @@ -450,7 +455,8 @@ class SeaModule(Module): if key is None: if len(pathlist) > 0: if len(pathlist) == 1: - kwds['group'] = 'more' + if isinstance(cls, Readable): + kwds['group'] = 'more' else: kwds['group'] = pathlist[-2] # flatten path to parameter name