From 281cb14d20285962fe61fb4d3c06009faf3bb444 Mon Sep 17 00:00:00 2001 From: Anon <git@anonweb.de> Date: Sun, 13 Aug 2023 12:52:11 +0200 Subject: [PATCH] py/fil3s: handle os.listdir() errors --- python_payload/apps/fil3s/browser.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/python_payload/apps/fil3s/browser.py b/python_payload/apps/fil3s/browser.py index e41b6eb36e..682c8b74b7 100644 --- a/python_payload/apps/fil3s/browser.py +++ b/python_payload/apps/fil3s/browser.py @@ -117,11 +117,18 @@ class Browser(ActionView): def _select(self) -> None: name = self.dir_entries[self.current_pos][0] - if self._is_dir(self.path + name): - self._change_path(self.path + name + "/") - else: - self.update_path(self.path + name) - self.navigate("reader") + old_path = self.path + new_path = self.path + name + try: + if self._is_dir(new_path): + self._change_path(new_path + "/") + else: + self.update_path(self.path + name) + self.navigate("reader") + except Exception as e: + # TODO: Create error view + print(f"Failed to open {new_path}: {e}") + self._change_path(old_path) def _up(self) -> None: if not self.up_enabled or len(self.path) <= 1: -- GitLab