Unverified Commit 84a6f211 authored by AUTOMATIC1111's avatar AUTOMATIC1111 Committed by GitHub
Browse files

Merge pull request #4358 from bamarillo/master

[API][Feature] Add Skip endpoint
parents 4b22ec41 7f63980e
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ class Api:
        self.app.add_api_route("/sdapi/v1/progress", self.progressapi, methods=["GET"], response_model=ProgressResponse)
        self.app.add_api_route("/sdapi/v1/interrogate", self.interrogateapi, methods=["POST"])
        self.app.add_api_route("/sdapi/v1/interrupt", self.interruptapi, methods=["POST"])
        self.app.add_api_route("/sdapi/v1/skip", self.skip, methods=["POST"])
        self.app.add_api_route("/sdapi/v1/options", self.get_config, methods=["GET"], response_model=OptionsModel)
        self.app.add_api_route("/sdapi/v1/options", self.set_config, methods=["POST"])
        self.app.add_api_route("/sdapi/v1/cmd-flags", self.get_cmd_flags, methods=["GET"], response_model=FlagsModel)
@@ -237,6 +238,9 @@ class Api:

        return {}

    def skip(self):
        shared.state.skip()

    def get_config(self):
        options = {}
        for key in shared.opts.data.keys():
@@ -248,14 +252,10 @@ class Api:

        return options

    def set_config(self, req: OptionsModel):
        # currently req has all options fields even if you send a dict like { "send_seed": false }, which means it will
        # overwrite all options with default values.
        raise RuntimeError('Setting options via API is not supported')
    def set_config(self, req: Dict[str, Any]):
       
        reqDict = vars(req)
        for o in reqDict:
            setattr(shared.opts, o, reqDict[o])
        for o in req:
            setattr(shared.opts, o, req[o])

        shared.opts.save(shared.config_filename)
        return
+3 −3
Original line number Diff line number Diff line
@@ -176,9 +176,9 @@ class InterrogateResponse(BaseModel):
    caption: str = Field(default=None, title="Caption", description="The generated caption for the image.")

fields = {}
for key, value in opts.data.items():
    metadata = opts.data_labels.get(key)
    optType = opts.typemap.get(type(value), type(value))
for key, metadata in opts.data_labels.items():
    value = opts.data.get(key)
    optType = opts.typemap.get(type(metadata.default), type(value))

    if (metadata is not None):
        fields.update({key: (Optional[optType], Field(