Coverage for src/driada/utils/naming.py: 3.85%

26 statements  

« prev     ^ index     » next       coverage.py v7.9.2, created at 2025-07-25 15:40 +0300

1def construct_session_name(data_source, exp_params, allow_unknown=True): 

2 if data_source == 'IABS': 

3 track = exp_params['track'] 

4 animal_id, session = exp_params['animal_id'], exp_params['session'] 

5 

6 if track == 'HT': 

7 name = f'{animal_id}_HT{session}' 

8 elif track == 'RT': 

9 name = f'RT_{animal_id}_{session}D' 

10 elif track == 'FS': 

11 name = f'FS{animal_id}_{session}D' 

12 elif track == 'FcOY': 

13 name = f'FcOY_{animal_id}_{session}' 

14 elif track == 'STFP': 

15 name = f'STFP_{animal_id}_{session}' 

16 elif track == 'AP': 

17 name = f'AP_{animal_id}_{session}' 

18 elif track == 'NOF': 

19 name = f'NOF_{animal_id}_{session}' 

20 elif track == 'Trace': 

21 name = f'Trace_{animal_id}_{session}' 

22 elif track == 'CC': 

23 name = f'CC_{animal_id}_{session}' 

24 else: 

25 if not allow_unknown: 

26 raise ValueError(f'Unknown track: {track}!') 

27 else: 

28 name = f'{track}_{animal_id}_{session}' 

29 

30 return name 

31 

32 else: 

33 raise NotImplementedError('Other data sources are not yet supported')