aboutsummaryrefslogtreecommitdiffstats
path: root/modules/api/api.py
diff options
context:
space:
mode:
authorSpenserCai <spensercai@gmail.com>2023-08-25 14:15:35 +0000
committerSpenserCai <spensercai@gmail.com>2023-08-25 14:15:35 +0000
commit3369fb27df6c1badd39bcb59b3f71c61a47d3d91 (patch)
tree22f9049f7cd0dcadd580cbd8227973af38c048bc /modules/api/api.py
parenta6cedafb27aa5fa50a06d2c7889b99eb274e2246 (diff)
downloadstable-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.py20
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)