(feat) refactor file explorers

This commit is contained in:
cardosofede
2024-05-16 12:47:00 -04:00
parent 6ed1264e3a
commit 41ab88cbb7
4 changed files with 8 additions and 39 deletions

View File

@@ -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):

View File

@@ -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):

View File

@@ -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:

View File

@@ -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]}")