File size: 1,377 Bytes
1e3b872 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
__author__ = "receyuki"
__filename__ = "fooocus.py"
__copyright__ = "Copyright 2023"
__email__ = "receyuki@gmail.com"
from ..format.base_format import BaseFormat
from ..utility import remove_quotes
class Fooocus(BaseFormat):
SETTING_KEY = [
"base_model",
"sampler",
"seed",
"cfg",
"steps",
"",
]
def __init__(self, info: dict = None, raw: str = ""):
super().__init__(info, raw)
self._fc_format()
def _fc_format(self):
data_json = self.info
self._tool = "Fooocus"
self._positive = data_json.get("prompt").strip()
self._negative = data_json.get("negative_prompt").strip()
self._raw = "\n".join([self._positive, self._negative, str(data_json)])
data_json.pop("prompt")
data_json.pop("negative_prompt")
self._setting = remove_quotes(str(data_json)[1:-1]).strip()
self._width = str(data_json.get("width"))
self._height = str(data_json.get("height"))
for p, s in zip(super().PARAMETER_KEY, Fooocus.SETTING_KEY):
match p:
case "size":
self._parameter["size"] = (
str(data_json.get("width")) + "x" + str(data_json.get("height"))
)
case _:
self._parameter[p] = str(data_json.get(s))
|