54 lines
1.7 KiB
Python
54 lines
1.7 KiB
Python
# sd script init
|
|
from modules import script_callbacks, shared
|
|
from modules.ui_components import ToolButton
|
|
from sdppp_python.sdppp import SDPPP
|
|
from sdppp_python.apis import consumeImageCache
|
|
import gradio as gr
|
|
try:
|
|
from modules_forge.forge_canvas.canvas import LogicalImage
|
|
inForge = True
|
|
except:
|
|
inForge = False
|
|
pass
|
|
|
|
refresh_symbol = '\U0001f504' # 🔄
|
|
config_symbol = '\U0001F527' # 🔧
|
|
|
|
def on_app_started(blocks: gr.Blocks, app):
|
|
|
|
sdppp = SDPPP()
|
|
sdppp.attach_to_SD(app)
|
|
|
|
def sdppp_get(elem):
|
|
res = consumeImageCache(elem.elem_id)
|
|
return gr.Image.update(value=res)
|
|
|
|
def sdppp_get_forge(elem):
|
|
res = consumeImageCache(elem.elem_id)
|
|
# maybe a convert to base64 is needed
|
|
return gr.Textbox.update(value=res)
|
|
|
|
sdppp.all_images = all_images = dict()
|
|
sdppp.all_galleries = all_galleries = dict()
|
|
sdppp.all_forge_input = all_forge_input = dict()
|
|
for k in blocks.blocks:
|
|
elem = blocks.blocks[k]
|
|
if elem.elem_id == '' or elem.elem_id == None: continue
|
|
if isinstance(elem, gr.Image):
|
|
all_images[elem.elem_id] = elem
|
|
if isinstance(elem, gr.Gallery):
|
|
all_galleries[elem.elem_id] = elem
|
|
if inForge and isinstance(elem, LogicalImage) and elem.label == 'background':
|
|
all_forge_input[elem.elem_id] = elem
|
|
with blocks:
|
|
with gr.Box(elem_id=f"sdppp_dialog", elem_classes="popup-dialog") as sdppp_dialog:
|
|
with gr.Row():
|
|
pass
|
|
|
|
script_callbacks.on_app_started(on_app_started)
|
|
# shared.options_templates.update(
|
|
# shared.options_section(('sd-ppp', "SD-PPP", "ui"), {
|
|
# "sd-ppp_download": shared.OptionInfo([], "Download PS plugin", gr.Button)
|
|
# })
|
|
# )
|