diff --git a/projects/rocprofiler-compute/src/rocprof_compute_tui/analysis_tui.py b/projects/rocprofiler-compute/src/rocprof_compute_tui/analysis_tui.py index 7e7af2c9cc..9e21ef9193 100644 --- a/projects/rocprofiler-compute/src/rocprof_compute_tui/analysis_tui.py +++ b/projects/rocprofiler-compute/src/rocprof_compute_tui/analysis_tui.py @@ -114,7 +114,7 @@ class tui_analysis(OmniAnalyze_Base): self, normalization_filter: Optional[str] = None ) -> OrderedDict[str, schema.Workload]: # Load system info and configure - sys_info = file_io.load_sys_info(f"{self.path}/sysinfo.csv") + sys_info = file_io.load_sys_info(str(Path(self.path) / "sysinfo.csv")) arch = sys_info.iloc[0]["gpu_arch"] self.generate_configs( diff --git a/projects/rocprofiler-compute/src/rocprof_compute_tui/tui_app.py b/projects/rocprofiler-compute/src/rocprof_compute_tui/tui_app.py index 9353ad3c4a..c1088b47c3 100644 --- a/projects/rocprofiler-compute/src/rocprof_compute_tui/tui_app.py +++ b/projects/rocprofiler-compute/src/rocprof_compute_tui/tui_app.py @@ -54,7 +54,7 @@ class RocprofTUIApp(App): TITLE = f"{APP_TITLE} v{VERSION}" SUB_TITLE = "Workload Analysis Tool" - CSS_PATH = "assets/style.css" + CSS_PATH = str(Path(__file__).parent / "assets" / "style.css") BINDINGS = [ Binding(key="q", action="quit", description="Quit"), Binding(key="r", action="refresh", description="Refresh"), @@ -105,7 +105,7 @@ class RocprofTUIApp(App): json.dump(self.recent_dirs, f, indent=2) def add_recent_dir(self, directory: str) -> None: - directory = str(Path(directory).absolute()) + directory = str(Path(directory).resolve()) # Remove if exists, add to front, keep max 5 if directory in self.recent_dirs: @@ -114,11 +114,6 @@ class RocprofTUIApp(App): self.recent_dirs = self.recent_dirs[:5] self._save_recent_dirs() - def on_recent_selected(self, selected_dir: Optional[str]) -> None: - if selected_dir: - self.main_view.selected_path = Path(selected_dir) - self.main_view.run_analysis() - @on(Button.Pressed, "#menu-open-workload") @work async def pick_directory(self) -> None: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_tui/widgets/menu_bar/menu_bar.py b/projects/rocprofiler-compute/src/rocprof_compute_tui/widgets/menu_bar/menu_bar.py index 2885e8badd..ca2411bde6 100644 --- a/projects/rocprofiler-compute/src/rocprof_compute_tui/widgets/menu_bar/menu_bar.py +++ b/projects/rocprofiler-compute/src/rocprof_compute_tui/widgets/menu_bar/menu_bar.py @@ -88,9 +88,16 @@ class MenuBar(Container): def on_recent_selected(selected_dir: Optional[str]) -> None: if selected_dir: - self.parent_main_view.selected_path = Path(selected_dir) - self.query_one("#file-dropdown", DropdownMenu).add_class("hidden") - self.parent_main_view.run_analysis() + path_obj = Path(selected_dir) + if path_obj.exists(): + self.parent_main_view.selected_path = path_obj + self.query_one("#file-dropdown", DropdownMenu).add_class("hidden") + self.parent_main_view.run_analysis() + else: + # Remove non-existent path from recent dirs + if selected_dir in self.app.recent_dirs: + self.app.recent_dirs.remove(selected_dir) + self.app._save_recent_dirs() self.app.push_screen( RecentDirectoriesScreen(self.app.recent_dirs), on_recent_selected