from IPython.display import display, HTML, clear_output from IPython import get_ipython from ipywidgets import widgets from pathlib import Path import os home = Path.home() src = home / '.gutris1' css_setup = src / 'setup.css' mark = src / 'marking.py' img = src / 'loading.png' A1111 = src / 'A1111.py' Forge = src / 'Forge.py' ComfyUI = src / 'ComfyUI.py' def load_css(): with open(css_setup, "r") as file: data = file.read() display(HTML(f"")) def selection(btn): multi_panel.close() with output: if btn == 'A1111': get_ipython().run_line_magic('run', f'{A1111}') elif btn == 'Forge': get_ipython().run_line_magic('run', f'{Forge}') elif btn == 'ComfyUI': get_ipython().run_line_magic('run', f'{ComfyUI}') options = ['A1111', 'Forge', 'ComfyUI'] buttons = [] for btn in options: button = widgets.Button(description='') button.add_class(btn.lower()) button.on_click(lambda x, btn=btn: selection(btn)) buttons.append(button) output = widgets.Output() multi_panel = widgets.HBox( buttons, layout=widgets.Layout( width='600px', height='405px')) multi_panel.add_class('multi-panel') def multi_widgets(): if not src.exists(): src.mkdir(parents=True, exist_ok=True) x = [ f"curl -sLo {css_setup} https://github.com/gutris1/segsmaker/raw/main/script/multi/setup.css", f"curl -sLo {img} https://github.com/gutris1/segsmaker/raw/main/script/loading.png", f"curl -sLo {mark} https://github.com/gutris1/segsmaker/raw/main/script/multi/marking.py", f"curl -sLo {A1111} https://github.com/gutris1/segsmaker/raw/main/script/multi/A1111.py", f"curl -sLo {Forge} https://huggingface.co/Carlos2312/asd/resolve/main/Forge.py", f"curl -sLo {ComfyUI} https://github.com/gutris1/segsmaker/raw/main/script/multi/ComfyUI.py"] for y in x: get_ipython().system(y) load_css() display(multi_panel, output) os.chdir(home) multi_widgets()