aegis_gui.utilities.utilities

 1import dash
 2import yaml
 3
 4from aegis_sim.utilities.container import Container
 5from aegis_gui.guisettings.GuiSettings import gui_settings
 6
 7
 8def read_yml(path):
 9    with open(path, "r") as f:
10        return yaml.safe_load(f)
11
12
13def get_container(filename):
14    return Container(gui_settings.sim_dir / filename)
15
16
17def get_config_path(filename):
18    return gui_settings.sim_dir / f"{filename}.yml"
19
20
21def get_sim_paths(sim_dir=None, sort=True):
22    if sim_dir is None:
23        sim_dir = gui_settings.sim_dir
24    paths = [p for p in sim_dir.iterdir() if p.is_dir()]
25    if sort:
26        paths = sorted(paths, key=lambda path: path.name)
27    return paths
28
29
30def get_sims():
31    return [p.stem for p in get_sim_paths()]
32
33
34def sim_exists(filename: str) -> bool:
35    paths = get_sim_paths()
36    return any(path.stem == filename for path in paths)
37
38
39def get_icon(icon_name):
40    return dash.html.Img(
41        src=f"/aegis/assets/icons/{icon_name}.svg",
42        width="16",
43        height="16",
44    )
def read_yml(path):
 9def read_yml(path):
10    with open(path, "r") as f:
11        return yaml.safe_load(f)
def get_container(filename):
14def get_container(filename):
15    return Container(gui_settings.sim_dir / filename)
def get_config_path(filename):
18def get_config_path(filename):
19    return gui_settings.sim_dir / f"{filename}.yml"
def get_sim_paths(sim_dir=None, sort=True):
22def get_sim_paths(sim_dir=None, sort=True):
23    if sim_dir is None:
24        sim_dir = gui_settings.sim_dir
25    paths = [p for p in sim_dir.iterdir() if p.is_dir()]
26    if sort:
27        paths = sorted(paths, key=lambda path: path.name)
28    return paths
def get_sims():
31def get_sims():
32    return [p.stem for p in get_sim_paths()]
def sim_exists(filename: str) -> bool:
35def sim_exists(filename: str) -> bool:
36    paths = get_sim_paths()
37    return any(path.stem == filename for path in paths)
def get_icon(icon_name):
40def get_icon(icon_name):
41    return dash.html.Img(
42        src=f"/aegis/assets/icons/{icon_name}.svg",
43        width="16",
44        height="16",
45    )