aboutsummaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'server/src')
-rw-r--r--server/src/routes/ui/admin/mod.rs1
-rw-r--r--server/src/routes/ui/sort.rs8
2 files changed, 8 insertions, 1 deletions
diff --git a/server/src/routes/ui/admin/mod.rs b/server/src/routes/ui/admin/mod.rs
index edbdb03..10c7365 100644
--- a/server/src/routes/ui/admin/mod.rs
+++ b/server/src/routes/ui/admin/mod.rs
@@ -151,7 +151,6 @@ pub async fn r_admin_import(
) -> MyResult<DynLayoutPage<'static>> {
drop(session);
let t = Instant::now();
- database.clear_nodes()?;
if !incremental {
database.clear_nodes()?;
}
diff --git a/server/src/routes/ui/sort.rs b/server/src/routes/ui/sort.rs
index af874f8..36250a9 100644
--- a/server/src/routes/ui/sort.rs
+++ b/server/src/routes/ui/sort.rs
@@ -54,6 +54,7 @@ form_enum!(
RatingYoutubeLikes = "rating_yt_likes",
RatingYoutubeFollowers = "rating_yt_followers",
RatingUser = "rating_user",
+ RatingLikesDivViews = "rating_loved",
}
);
@@ -77,6 +78,7 @@ impl SortProperty {
(RatingYoutubeLikes, "Youtube Likes"),
(RatingYoutubeViews, "Youtube Views"),
(RatingUser, "Your Rating"),
+ (RatingLikesDivViews, "Likes per view"),
],
),
]
@@ -197,6 +199,12 @@ pub fn filter_and_sort_nodes(
SortProperty::RatingYoutubeFollowers => nodes.sort_by_cached_key(|(n, _)| {
SortAnyway(*n.ratings.get(&Rating::YoutubeFollowers).unwrap_or(&0.))
}),
+ SortProperty::RatingLikesDivViews => nodes.sort_by_cached_key(|(n, _)| {
+ SortAnyway(
+ *n.ratings.get(&Rating::YoutubeLikes).unwrap_or(&0.)
+ / (1. + *n.ratings.get(&Rating::YoutubeViews).unwrap_or(&0.)),
+ )
+ }),
SortProperty::RatingUser => nodes.sort_by_cached_key(|(_, u)| u.rating),
}