From b0821c5dca5c22ce0b45f963aaa4a1f5595988aa Mon Sep 17 00:00:00 2001 From: cardosofede Date: Thu, 3 Aug 2023 17:59:55 +0200 Subject: [PATCH] (feat) add specific bot file explorer --- ui_components/bots_file_explorer.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 ui_components/bots_file_explorer.py diff --git a/ui_components/bots_file_explorer.py b/ui_components/bots_file_explorer.py new file mode 100644 index 0000000..92c75c0 --- /dev/null +++ b/ui_components/bots_file_explorer.py @@ -0,0 +1,24 @@ +from streamlit_elements import mui + +from ui_components.file_explorer_base import FileExplorerBase +from utils.os_utils import get_directories_from_directory, get_python_files_from_directory, \ + get_yml_files_from_directory, get_log_files_from_directory + + +class BotsFileExplorer(FileExplorerBase): + def add_tree_view(self): + bots = [bot.split("/")[-2] for bot in get_directories_from_directory(self._directory) if + "data_downloader" not in bot] + with mui.lab.TreeView(defaultExpandIcon=mui.icon.ChevronRight, defaultCollapseIcon=mui.icon.ExpandMore, + onNodeSelect=lambda event, node_id: self.set_selected_file(event, node_id)): + for bot in bots: + with mui.lab.TreeItem(nodeId=bot, label=f"🤖{bot}"): + with mui.lab.TreeItem(nodeId=f"scripts_{bot}", label="🐍Scripts"): + for file in get_python_files_from_directory(f"{self._directory}/{bot}/scripts"): + mui.lab.TreeItem(nodeId=file, label=f"📄{file.split('/')[-1]}") + with mui.lab.TreeItem(nodeId=f"strategies_{bot}", label="📜Strategies"): + for file in get_yml_files_from_directory(f"{self._directory}/{bot}/conf/strategies"): + mui.lab.TreeItem(nodeId=file, label=f"📄 {file.split('/')[-1]}") + with mui.lab.TreeItem(nodeId=f"logs_{bot}", label="🗄️Logs"): + for file in get_log_files_from_directory(f"{self._directory}/{bot}/logs"): + mui.lab.TreeItem(nodeId=file, label=f"📄 {file.split('/')[-1]}")