Files
hummingbot-dashboard/frontend/components/bots_file_explorer.py
2024-05-16 12:47:00 -04:00

27 lines
1.7 KiB
Python
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from streamlit_elements import mui
import constants
from backend.utils.os_utils import get_directories_from_directory, get_python_files_from_directory, \
get_yml_files_from_directory, get_log_files_from_directory
from frontend.components.file_explorer_base import FileExplorerBase
class BotsFileExplorer(FileExplorerBase):
def add_tree_view(self):
directory = constants.BOTS_FOLDER
bots = [bot.split("/")[-2] for bot in get_directories_from_directory(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"{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"{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"{directory}/{bot}/logs"):
mui.lab.TreeItem(nodeId=file, label=f"📄 {file.split('/')[-1]}")