diff --git a/ChildProject/cmdline.py b/ChildProject/cmdline.py index 42b254a6..8ec6e84f 100755 --- a/ChildProject/cmdline.py +++ b/ChildProject/cmdline.py @@ -263,7 +263,7 @@ def sets_metadata(args): continue if len(args.source) > 1: - logger.info(f"\033[1m\033[35m### {project.recordings['experiment'].iloc[0]} ({source}) ###\033[0m") + logger.info(f"\033[1m\033[35m### {project.recordings['experiment'].iloc[0] if project.recordings.shape[0] else source} ({source}) ###\033[0m") sets = am.get_sets_metadata() if 'method' not in sets: @@ -577,7 +577,7 @@ def overview(args): continue if len(args.source) > 1: - logger.info(f"\033[1m\033[35m### {project.recordings['experiment'].iloc[0]} ({source}) ###\033[0m") + logger.info(f"\033[1m\033[35m### {project.recordings['experiment'].iloc[0] if project.recordings.shape[0] else source} ({source}) ###\033[0m") available = project.recordings['recording_filename'].apply(lambda recording_filename: 1 if project.get_recording_path(recording_filename).exists() else 0).sum() diff --git a/ChildProject/projects.py b/ChildProject/projects.py index 27db1e44..e0f5f400 100644 --- a/ChildProject/projects.py +++ b/ChildProject/projects.py @@ -419,8 +419,9 @@ def read(self, verbose=False, accumulate=True): self.children = self.ct.df self.recordings = self.rt.df - - exp = self.children.iloc[0]['experiment'] + + # not sure what to use if no row in children, let's just put the folder name as a replacement? + exp = self.children.iloc[0]['experiment'] if self.children.shape[0] else self.path.name exp_values = set(self.children['experiment'].unique()).union(set(self.recordings['experiment'].unique())) if len(exp_values) > 1: raise ValueError(f"Column must be unique across the dataset, in both children.csv and recordings.csv , {len(exp_values)} different values were found: {exp_values}") @@ -444,7 +445,7 @@ def dict_summary(self): 'devices': { device: { 'count': self.recordings[self.recordings['recording_device_type'] == device].shape[0], - 'duration': self.recordings[self.recordings['recording_device_type'] == device]['duration'].sum(), + 'duration': self.recordings[self.recordings['recording_device_type'] == device]['duration'].sum() if 'duration' in self.recordings.columns else None, } for device in self.recordings['recording_device_type'].unique()} }, 'children': {