fix: handle non Readable SeaModules correctly
This commit is contained in:
parent
5f65b6b4ce
commit
c779d49548
@ -19,6 +19,6 @@ iodev = sea_main
|
|||||||
sea_object = p
|
sea_object = p
|
||||||
|
|
||||||
[table]
|
[table]
|
||||||
class = secop_psi.sea.SeaReadable
|
class = secop_psi.sea.SeaModule
|
||||||
iodev = sea_main
|
iodev = sea_main
|
||||||
sea_object = table
|
sea_object = table
|
||||||
|
@ -364,6 +364,7 @@ class SeaModule(Module):
|
|||||||
visibility_level = cfgdict.pop('visibility_level', 2)
|
visibility_level = cfgdict.pop('visibility_level', 2)
|
||||||
|
|
||||||
single_module = cfgdict.pop('single_module', None)
|
single_module = cfgdict.pop('single_module', None)
|
||||||
|
print('new module', cls, single_module)
|
||||||
if single_module:
|
if single_module:
|
||||||
sea_object, base, paramdesc = extra_modules[single_module]
|
sea_object, base, paramdesc = extra_modules[single_module]
|
||||||
params = [paramdesc]
|
params = [paramdesc]
|
||||||
@ -389,6 +390,7 @@ class SeaModule(Module):
|
|||||||
# sea_object, descr = json.load(fp)
|
# sea_object, descr = json.load(fp)
|
||||||
with open(join(seaconfdir, json_file)) as fp:
|
with open(join(seaconfdir, json_file)) as fp:
|
||||||
descr = json.load(fp)[sea_object]
|
descr = json.load(fp)[sea_object]
|
||||||
|
print(cls, 'rel_paths', rel_paths)
|
||||||
if rel_paths == '*' or not rel_paths:
|
if rel_paths == '*' or not rel_paths:
|
||||||
# take all
|
# take all
|
||||||
main = descr['params'][0]
|
main = descr['params'][0]
|
||||||
@ -418,7 +420,10 @@ class SeaModule(Module):
|
|||||||
descr['params'] = result
|
descr['params'] = result
|
||||||
rel0 = '' if rel_paths[0] == '.' else rel_paths[0]
|
rel0 = '' if rel_paths[0] == '.' else rel_paths[0]
|
||||||
if result[0]['path'] == rel0:
|
if result[0]['path'] == rel0:
|
||||||
|
if isinstance(cls, Readable):
|
||||||
result[0]['key'] = 'value'
|
result[0]['key'] = 'value'
|
||||||
|
else:
|
||||||
|
result.pop(0)
|
||||||
else:
|
else:
|
||||||
logger.error('%s: no value found', name)
|
logger.error('%s: no value found', name)
|
||||||
# logger.info('PARAMS %s %r', name, result)
|
# logger.info('PARAMS %s %r', name, result)
|
||||||
@ -450,6 +455,7 @@ class SeaModule(Module):
|
|||||||
if key is None:
|
if key is None:
|
||||||
if len(pathlist) > 0:
|
if len(pathlist) > 0:
|
||||||
if len(pathlist) == 1:
|
if len(pathlist) == 1:
|
||||||
|
if isinstance(cls, Readable):
|
||||||
kwds['group'] = 'more'
|
kwds['group'] = 'more'
|
||||||
else:
|
else:
|
||||||
kwds['group'] = pathlist[-2]
|
kwds['group'] = pathlist[-2]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user