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
« 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']
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}'
30 return name
32 else:
33 raise NotImplementedError('Other data sources are not yet supported')