Files
hummingbot-dashboard/frontend/components/bots_file_explorer.py
2024-07-16 18:57:05 +03:00

31 lines
1.7 KiB
Python
Raw Permalink 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_log_files_from_directory,
get_python_files_from_directory,
get_yml_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]}")