diff options
author | SpenserCai <spensercai@gmail.com> | 2023-08-25 14:15:35 +0000 |
---|---|---|
committer | SpenserCai <spensercai@gmail.com> | 2023-08-25 14:15:35 +0000 |
commit | 3369fb27df6c1badd39bcb59b3f71c61a47d3d91 (patch) | |
tree | 22f9049f7cd0dcadd580cbd8227973af38c048bc /modules/api/api.py | |
parent | a6cedafb27aa5fa50a06d2c7889b99eb274e2246 (diff) | |
download | stable-diffusion-webui-gfx803-3369fb27df6c1badd39bcb59b3f71c61a47d3d91.tar.gz stable-diffusion-webui-gfx803-3369fb27df6c1badd39bcb59b3f71c61a47d3d91.tar.bz2 stable-diffusion-webui-gfx803-3369fb27df6c1badd39bcb59b3f71c61a47d3d91.zip |
support installed extensions list api
Diffstat (limited to 'modules/api/api.py')
-rw-r--r-- | modules/api/api.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/modules/api/api.py b/modules/api/api.py index e6edffe7..0bcf5497 100644 --- a/modules/api/api.py +++ b/modules/api/api.py @@ -243,6 +243,7 @@ class Api: self.add_api_route("/sdapi/v1/reload-checkpoint", self.reloadapi, methods=["POST"]) self.add_api_route("/sdapi/v1/scripts", self.get_scripts_list, methods=["GET"], response_model=models.ScriptsList) self.add_api_route("/sdapi/v1/script-info", self.get_script_info, methods=["GET"], response_model=List[models.ScriptInfo]) + self.add_api_route("/sdapi/v1/extensions", self.get_extensions_list, methods=["GET"], response_model=List[models.ExtensionItem]) if shared.cmd_opts.api_server_stop: self.add_api_route("/sdapi/v1/server-kill", self.kill_webui, methods=["POST"]) @@ -769,6 +770,25 @@ class Api: except Exception as err: cuda = {'error': f'{err}'} return models.MemoryResponse(ram=ram, cuda=cuda) + + def get_extensions_list(self): + from modules import extensions + extensions.list_extensions() + ext_list = [] + for ext in extensions.extensions: + ext: extensions.Extension + ext.read_info_from_repo() + if ext.remote is not None: + ext_list.append({ + "name": ext.name, + "remote": ext.remote, + "branch": ext.branch, + "commit_hash":ext.commit_hash, + "commit_date":ext.commit_date, + "version":ext.version, + "enabled":ext.enabled + }) + return ext_list def launch(self, server_name, port, root_path): self.app.include_router(self.router) |