diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-07-08 11:30:17 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-08 11:30:17 +0000 |
commit | b25925c95ba71552bfc53220035160b6703be7da (patch) | |
tree | f80e816e4e9f01733c4703fb25d1a50492ff208c /modules/ui_extensions.py | |
parent | b74f661ed97189d6f21be508c06e87439905c8a2 (diff) | |
parent | 2ccc832b3333fe520961466aa1f05b24aafdd792 (diff) | |
download | stable-diffusion-webui-gfx803-b25925c95ba71552bfc53220035160b6703be7da.tar.gz stable-diffusion-webui-gfx803-b25925c95ba71552bfc53220035160b6703be7da.tar.bz2 stable-diffusion-webui-gfx803-b25925c95ba71552bfc53220035160b6703be7da.zip |
Merge pull request #11520 from AUTOMATIC1111/extension-metadata
Extension metadata
Diffstat (limited to 'modules/ui_extensions.py')
-rw-r--r-- | modules/ui_extensions.py | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index 278bf5e4..dff522ef 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -424,9 +424,19 @@ sort_ordering = [ (False, lambda x: x.get('name', 'z')),
(True, lambda x: x.get('name', 'z')),
(False, lambda x: 'z'),
+ (True, lambda x: x.get('commit_time', '')),
+ (True, lambda x: x.get('created_at', '')),
+ (True, lambda x: x.get('stars', 0)),
]
+def get_date(info: dict, key):
+ try:
+ return datetime.strptime(info.get(key), "%Y-%m-%dT%H:%M:%SZ").strftime("%Y-%m-%d")
+ except (ValueError, TypeError):
+ return ''
+
+
def refresh_available_extensions_from_data(hide_tags, sort_column, filter_text=""):
extlist = available_extensions["extensions"]
installed_extension_urls = {normalize_git_url(extension.remote): extension.name for extension in extensions.extensions}
@@ -451,7 +461,10 @@ def refresh_available_extensions_from_data(hide_tags, sort_column, filter_text=" for ext in sorted(extlist, key=sort_function, reverse=sort_reverse):
name = ext.get("name", "noname")
+ stars = int(ext.get("stars", 0))
added = ext.get('added', 'unknown')
+ update_time = get_date(ext, 'commit_time')
+ create_time = get_date(ext, 'created_at')
url = ext.get("url", None)
description = ext.get("description", "")
extension_tags = ext.get("tags", [])
@@ -478,7 +491,8 @@ def refresh_available_extensions_from_data(hide_tags, sort_column, filter_text=" code += f"""
<tr>
<td><a href="{html.escape(url)}" target="_blank">{html.escape(name)}</a><br />{tags_text}</td>
- <td>{html.escape(description)}<p class="info"><span class="date_added">Added: {html.escape(added)}</span></p></td>
+ <td>{html.escape(description)}<p class="info">
+ <span class="date_added">Update: {html.escape(update_time)} Added: {html.escape(added)} Created: {html.escape(create_time)}</span><span class="star_count">stars: <b>{stars}</b></a></p></td>
<td>{install_code}</td>
</tr>
@@ -562,7 +576,7 @@ def create_ui(): with gr.Row():
hide_tags = gr.CheckboxGroup(value=["ads", "localization", "installed"], label="Hide extensions with tags", choices=["script", "ads", "localization", "installed"])
- sort_column = gr.Radio(value="newest first", label="Order", choices=["newest first", "oldest first", "a-z", "z-a", "internal order", ], type="index")
+ sort_column = gr.Radio(value="newest first", label="Order", choices=["newest first", "oldest first", "a-z", "z-a", "internal order",'update time', 'create time', "stars"], type="index")
with gr.Row():
search_extensions_text = gr.Text(label="Search").style(container=False)
|