toto10's picture
Upload folder using huggingface_hub (#1)
34097e9
raw
history blame
1.98 kB
from __future__ import annotations
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from abc import ABC, abstractmethod
from dataclasses import dataclass
from typing import Any
import gradio as gr
from PIL import Image
from sd_webui.processing import (
Processed,
StableDiffusionProcessingImg2Img,
StableDiffusionProcessingTxt2Img,
)
SDPType = StableDiffusionProcessingImg2Img | StableDiffusionProcessingTxt2Img
AlwaysVisible = object()
@dataclass
class PostprocessImageArgs:
image: Image.Image
class Script(ABC):
filename: str
args_from: int
args_to: int
alwayson: bool
is_txt2img: bool
is_img2img: bool
group: gr.Group
infotext_fields: list[tuple[str, str]]
paste_field_names: list[str]
@abstractmethod
def title(self):
raise NotImplementedError
def ui(self, is_img2img: bool):
pass
def show(self, is_img2img: bool):
return True
def run(self, p: SDPType, *args):
pass
def process(self, p: SDPType, *args):
pass
def before_process_batch(self, p: SDPType, *args, **kwargs):
pass
def process_batch(self, p: SDPType, *args, **kwargs):
pass
def postprocess_batch(self, p: SDPType, *args, **kwargs):
pass
def postprocess_image(self, p: SDPType, pp: PostprocessImageArgs, *args):
pass
def postprocess(self, p: SDPType, processed: Processed, *args):
pass
def before_component(self, component, **kwargs):
pass
def after_component(self, component, **kwargs):
pass
def describe(self):
return ""
def elem_id(self, item_id: Any) -> str:
pass
else:
from modules.scripts import AlwaysVisible, PostprocessImageArgs, Script