mirror of
https://github.com/aljazceru/hummingbot-dashboard.git
synced 2026-02-23 14:06:56 +01:00
(feat) refactor file explorers
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
from streamlit_elements import mui
|
||||
|
||||
import constants
|
||||
from frontend.components.file_explorer_base import FileExplorerBase
|
||||
from utils.os_utils import get_directories_from_directory, get_python_files_from_directory, \
|
||||
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):
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
from streamlit_elements import mui
|
||||
|
||||
import constants
|
||||
from backend.utils.os_utils import load_controllers
|
||||
from frontend.components.file_explorer_base import FileExplorerBase
|
||||
from utils.os_utils import load_controllers
|
||||
|
||||
|
||||
class ControllersFileExplorer(FileExplorerBase):
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import streamlit as st
|
||||
from streamlit_elements import mui, elements
|
||||
from streamlit_elements import mui
|
||||
|
||||
from utils.os_utils import load_file, remove_file
|
||||
from backend.utils.os_utils import remove_file, load_file
|
||||
from .dashboard import Dashboard
|
||||
|
||||
|
||||
@@ -29,8 +29,9 @@ class FileExplorerBase(Dashboard.Item):
|
||||
def add_file_to_tab(self):
|
||||
language = "python" if self.selected_file.endswith(".py") else "yaml"
|
||||
if self.is_file_editable:
|
||||
self._tabs[self.selected_file] = {"content": load_file(self.selected_file),
|
||||
"language": language}
|
||||
self._tabs[self.selected_file] = {
|
||||
"content": load_file(self.selected_file),
|
||||
"language": language}
|
||||
|
||||
def remove_file_from_tab(self):
|
||||
if self.is_file_editable and self.selected_file in self._tabs:
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
from streamlit_elements import mui
|
||||
|
||||
import constants
|
||||
from frontend.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 MasterConfFileExplorer(FileExplorerBase):
|
||||
def add_tree_view(self):
|
||||
directory = constants.HUMMINGBOT_TEMPLATES
|
||||
configs = [conf.split("/")[-2] for conf in get_directories_from_directory(directory) if "master_bot_conf" in conf]
|
||||
with mui.lab.TreeView(defaultExpandIcon=mui.icon.ChevronRight, defaultCollapseIcon=mui.icon.ExpandMore,
|
||||
onNodeSelect=lambda event, node_id: self.set_selected_file(event, node_id),
|
||||
defaultExpanded=["master_bot_conf"]):
|
||||
for conf in configs:
|
||||
with mui.lab.TreeItem(nodeId=conf, label=f"🤖{conf}"):
|
||||
with mui.lab.TreeItem(nodeId=f"scripts_{conf}", label="🐍Scripts"):
|
||||
for file in get_python_files_from_directory(f"{directory}/{conf}/scripts"):
|
||||
mui.lab.TreeItem(nodeId=file, label=f"📄{file.split('/')[-1]}")
|
||||
with mui.lab.TreeItem(nodeId=f"strategies_{conf}", label="📜Strategies"):
|
||||
for file in get_yml_files_from_directory(f"{directory}/{conf}/conf/strategies"):
|
||||
mui.lab.TreeItem(nodeId=file, label=f"📄 {file.split('/')[-1]}")
|
||||
with mui.lab.TreeItem(nodeId=f"configs_{conf}", label="🔧Client Config"):
|
||||
for file in get_yml_files_from_directory(f"{directory}/{conf}/conf"):
|
||||
mui.lab.TreeItem(nodeId=file, label=f"📄 {file.split('/')[-1]}")
|
||||
with mui.lab.TreeItem(nodeId=f"keys_{conf}", label="🔑Keys"):
|
||||
for file in get_yml_files_from_directory(f"{directory}/{conf}/conf/connectors"):
|
||||
mui.lab.TreeItem(nodeId=file, label=f"🔑 {file.split('/')[-1]}")
|
||||
with mui.lab.TreeItem(nodeId=f"logs_{conf}", label="🗄️Logs"):
|
||||
for file in get_log_files_from_directory(f"{directory}/{conf}/logs"):
|
||||
mui.lab.TreeItem(nodeId=file, label=f"📄 {file.split('/')[-1]}")
|
||||
Reference in New Issue
Block a user