Coverage for src/hdmf/common/io/multi.py: 100%
15 statements
« prev ^ index » next coverage.py v7.2.5, created at 2023-07-10 23:48 +0000
« prev ^ index » next coverage.py v7.2.5, created at 2023-07-10 23:48 +0000
1from .. import register_map
2from ..multi import SimpleMultiContainer
3from ...build import ObjectMapper
4from ...container import Container, Data
7@register_map(SimpleMultiContainer)
8class SimpleMultiContainerMap(ObjectMapper):
10 @ObjectMapper.object_attr('containers')
11 def containers_attr(self, container, manager):
12 return [c for c in container.containers.values() if isinstance(c, Container)]
14 @ObjectMapper.constructor_arg('containers')
15 def containers_carg(self, builder, manager):
16 return [manager.construct(sub) for sub in builder.datasets.values()
17 if manager.is_sub_data_type(sub, 'Data')] + \
18 [manager.construct(sub) for sub in builder.groups.values()
19 if manager.is_sub_data_type(sub, 'Container')]
21 @ObjectMapper.object_attr('datas')
22 def datas_attr(self, container, manager):
23 return [c for c in container.containers.values() if isinstance(c, Data)]