Coverage for src/hdmf/common/io/multi.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.2.5, created at 2023-07-25 05:02 +0000

1from .. import register_map 

2from ..multi import SimpleMultiContainer 

3from ...build import ObjectMapper 

4from ...container import Container, Data 

5 

6 

7@register_map(SimpleMultiContainer) 

8class SimpleMultiContainerMap(ObjectMapper): 

9 

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)] 

13 

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')] 

20 

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)]