add extensions Update Created dates with sorting
This commit is contained in:
parent
b1c6e39620
commit
2ccc832b33
@ -424,10 +424,19 @@ sort_ordering = [
|
|||||||
(False, lambda x: x.get('name', 'z')),
|
(False, lambda x: x.get('name', 'z')),
|
||||||
(True, lambda x: x.get('name', 'z')),
|
(True, lambda x: x.get('name', 'z')),
|
||||||
(False, lambda x: '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)),
|
(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=""):
|
def refresh_available_extensions_from_data(hide_tags, sort_column, filter_text=""):
|
||||||
extlist = available_extensions["extensions"]
|
extlist = available_extensions["extensions"]
|
||||||
installed_extension_urls = {normalize_git_url(extension.remote): extension.name for extension in extensions.extensions}
|
installed_extension_urls = {normalize_git_url(extension.remote): extension.name for extension in extensions.extensions}
|
||||||
@ -454,6 +463,8 @@ def refresh_available_extensions_from_data(hide_tags, sort_column, filter_text="
|
|||||||
name = ext.get("name", "noname")
|
name = ext.get("name", "noname")
|
||||||
stars = int(ext.get("stars", 0))
|
stars = int(ext.get("stars", 0))
|
||||||
added = ext.get('added', 'unknown')
|
added = ext.get('added', 'unknown')
|
||||||
|
update_time = get_date(ext, 'commit_time')
|
||||||
|
create_time = get_date(ext, 'created_at')
|
||||||
url = ext.get("url", None)
|
url = ext.get("url", None)
|
||||||
description = ext.get("description", "")
|
description = ext.get("description", "")
|
||||||
extension_tags = ext.get("tags", [])
|
extension_tags = ext.get("tags", [])
|
||||||
@ -480,7 +491,8 @@ def refresh_available_extensions_from_data(hide_tags, sort_column, filter_text="
|
|||||||
code += f"""
|
code += f"""
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="{html.escape(url)}" target="_blank">{html.escape(name)}</a><br />{tags_text}</td>
|
<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><span class="star_count">stars: <b>{stars:,}</b></a></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>
|
<td>{install_code}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
@ -564,7 +576,7 @@ def create_ui():
|
|||||||
|
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
hide_tags = gr.CheckboxGroup(value=["ads", "localization", "installed"], label="Hide extensions with tags", choices=["script", "ads", "localization", "installed"])
|
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", "stars"], 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():
|
with gr.Row():
|
||||||
search_extensions_text = gr.Text(label="Search").style(container=False)
|
search_extensions_text = gr.Text(label="Search").style(container=False)
|
||||||
|
Loading…
Reference in New Issue
Block a user