From db35b331866d9e2fcb0f10433f544e6434d4f341 Mon Sep 17 00:00:00 2001 From: Jan Benda Date: Thu, 23 Jan 2025 10:34:25 +0100 Subject: [PATCH] [databrowser] somewhat improved error handling for file opening --- src/audian/audian.py | 7 +++---- src/audian/data.py | 2 ++ src/audian/databrowser.py | 7 +++++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/audian/audian.py b/src/audian/audian.py index 87cbb74..42e8997 100644 --- a/src/audian/audian.py +++ b/src/audian/audian.py @@ -1213,7 +1213,7 @@ def load_files(self, file_paths): # prepare open all files in a single buffer: browser = DataBrowser(file_paths, self.load_kwargs, self.plugins, self.channels, self.audio, self.acts) - self.tabs.addTab(browser, os.path.basename(file_paths[0])) + self.tabs.addTab(browser, browser.name()) self.browsers.append(browser) self.tabs.setCurrentWidget(browser) QTimer.singleShot(100, self.load_data) @@ -1243,8 +1243,7 @@ def load_data(self): self.channels, self.audio, self.acts) - self.tabs.addTab(browser, - os.path.basename(file_path)) + self.tabs.addTab(browser, browser.name()) self.browsers.append(browser) if first: self.tabs.setCurrentWidget(browser) @@ -1258,7 +1257,7 @@ def load_data(self): Can not open file {browser.file_path}!''') break self.tabs.setTabText(self.tabs.indexOf(browser), - os.path.basename(browser.data.file_path)) + browser.name()) for b in self.browsers: if not b.data.data is None and \ b.data.channels != browser.data.channels: diff --git a/src/audian/data.py b/src/audian/data.py index 33cd97a..c221e1e 100644 --- a/src/audian/data.py +++ b/src/audian/data.py @@ -164,8 +164,10 @@ def open(self, unwrap, unwrap_clip): # raw data: tbuffer = self.buffer_time + self.tbefore + self.tafter tback = self.back_time + self.tbefore + verbose = isinstance(self.file_path, (list, tuple, np.ndarray)) try: self.data = DataLoader(self.file_path, tbuffer, tback, + verbose=verbose, **self.load_kwargs) except IOError: self.data = None diff --git a/src/audian/databrowser.py b/src/audian/databrowser.py index c5f16e3..7e95b93 100644 --- a/src/audian/databrowser.py +++ b/src/audian/databrowser.py @@ -188,6 +188,13 @@ def __del__(self): self.close() + def name(self): + if isinstance(self.data.file_path, (list, tuple, np.ndarray)): + return os.path.basename(self.data.file_path[0]) + else: + return os.path.basename(self.data.file_path) + + def get_trace(self, name): return self.data[name]