mirror of
https://github.com/clearml/clearml-server
synced 2025-02-07 13:33:42 +00:00
Improve projects order
This commit is contained in:
parent
29ef134b79
commit
e12fd8f3df
@ -1,8 +1,13 @@
|
|||||||
# Order of featured projects, by name or ID
|
# Order of featured projects, by name or ID
|
||||||
featured_order: [
|
featured {
|
||||||
# {id: "<project-id>"}
|
order: [
|
||||||
# OR
|
# {id: "<project-id>"}
|
||||||
# {name: "<project-name>"}
|
# OR
|
||||||
# OR
|
# {name: "<project-name>"}
|
||||||
# {name_regex: "<python-regex>"}
|
# OR
|
||||||
]
|
# {name_regex: "<python-regex>"}
|
||||||
|
]
|
||||||
|
|
||||||
|
# default featured index for public projects not specified in the order
|
||||||
|
public_default: 9999
|
||||||
|
}
|
@ -363,19 +363,21 @@ class PrePopulate:
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def update_featured_projects_order(cls):
|
def update_featured_projects_order(cls):
|
||||||
featured_order = config.get("services.projects.featured_order", [])
|
order = config.get("services.projects.featured.order", [])
|
||||||
if not featured_order:
|
if not order:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
public_default = config.get("services.projects.featured.public_default", 9999)
|
||||||
|
|
||||||
def get_index(p: Project):
|
def get_index(p: Project):
|
||||||
for index, entry in enumerate(featured_order):
|
for index, entry in enumerate(order):
|
||||||
if (
|
if (
|
||||||
entry.get("id", None) == p.id
|
entry.get("id", None) == p.id
|
||||||
or entry.get("name", None) == p.name
|
or entry.get("name", None) == p.name
|
||||||
or ("name_regex" in entry and re.match(entry["name_regex"], p.name))
|
or ("name_regex" in entry and re.match(entry["name_regex"], p.name))
|
||||||
):
|
):
|
||||||
return index
|
return index
|
||||||
return 999
|
return public_default
|
||||||
|
|
||||||
for project in Project.get_many_public(projection=["id", "name"]):
|
for project in Project.get_many_public(projection=["id", "name"]):
|
||||||
featured_index = get_index(project)
|
featured_index = get_index(project)
|
||||||
|
Loading…
Reference in New Issue
Block a user