(feat) improve loaders and save config

This commit is contained in:
cardosofede
2024-06-05 00:20:10 +02:00
parent 4e156f4762
commit 00b452e39d
2 changed files with 32 additions and 13 deletions

View File

@@ -4,19 +4,27 @@ from CONFIG import BACKEND_API_HOST, BACKEND_API_PORT
from backend.services.backend_api_client import BackendAPIClient
def render_save_config(controller_name: str, config_data: dict):
def render_save_config(config_base: str, config_data: dict):
st.write("### Upload Config to BackendAPI")
backend_api_client = BackendAPIClient.get_instance(host=BACKEND_API_HOST, port=BACKEND_API_PORT)
all_configs = backend_api_client.get_all_controllers_config()
config_bases = set(config_name["id"].split("_")[0] for config_name in all_configs)
config_base = config_base.split("_")[0]
if config_base in config_bases:
config_tag = max(float(config["id"].split("_")[-1]) for config in all_configs if config_base in config["id"])
version, tag = str(config_tag).split(".")
config_tag = f"{version}.{int(tag) + 1}"
else:
config_tag = "0.1"
c1, c2, c3 = st.columns([1, 1, 0.5])
connector = config_data.get("connector_name", "")
trading_pair = config_data.get("trading_pair", "")
with c1:
config_base = st.text_input("Config Base", value=f"{controller_name}-{connector}-{trading_pair.split('-')[0]}")
config_base = st.text_input("Config Base", value=config_base)
with c2:
config_tag = st.text_input("Config Tag", value="1.1")
config_tag = st.text_input("Config Tag", value=config_tag)
with c3:
upload_config_to_backend = st.button("Upload")
if upload_config_to_backend:
config_data["id"] = f"{config_base}-{config_tag}"
config_data["id"] = f"{config_base}_{config_tag}"
backend_api_client = BackendAPIClient.get_instance(host=BACKEND_API_HOST, port=BACKEND_API_PORT)
backend_api_client.add_controller_config(config_data)
st.success("Config uploaded successfully!")