mirror of
https://github.com/aljazceru/hummingbot-dashboard.git
synced 2025-12-22 15:54:24 +01:00
27 lines
1.7 KiB
Python
27 lines
1.7 KiB
Python
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]}")
|