Fix sort order of trending

This commit is contained in:
James Mills 2020-03-25 16:35:06 +10:00
parent dd97030bd1
commit f0ac95bb7c
No known key found for this signature in database
GPG key ID: AC4C014F1440EBD6

View file

@ -7,7 +7,7 @@ import (
type Playlist []*Video type Playlist []*Video
// By is the type of a "less" function that defines the ordering of its Playlist arguments. // By is the type of a "less" function that defines the ordering of its Playlist arguments.
type By func(p1, p2 *Video) bool type By func(v1, v2 *Video) bool
// Sort is a method on the function type, By, that sorts the argument slice according to the function. // Sort is a method on the function type, By, that sorts the argument slice according to the function.
func (by By) Sort(pl Playlist) { func (by By) Sort(pl Playlist) {
@ -21,7 +21,7 @@ func (by By) Sort(pl Playlist) {
// playlistSorter joins a By function and a slice of Playlist to be sorted. // playlistSorter joins a By function and a slice of Playlist to be sorted.
type playlistSorter struct { type playlistSorter struct {
pl Playlist pl Playlist
by func(p1, p2 *Video) bool // Closure used in the Less method. by func(v1, v2 *Video) bool // Closure used in the Less method.
} }
// Len is part of sort.Interface. // Len is part of sort.Interface.
@ -39,10 +39,12 @@ func (s *playlistSorter) Less(i, j int) bool {
return s.by(s.pl[i], s.pl[j]) return s.by(s.pl[i], s.pl[j])
} }
// SortByTimestamp sorts the playlist by Timestamp
func SortByTimestamp(v1, v2 *Video) bool { func SortByTimestamp(v1, v2 *Video) bool {
return v1.Timestamp.After(v2.Timestamp) return v1.Timestamp.After(v2.Timestamp)
} }
// SortByViews sorts the playlist by Views
func SortByViews(v1, v2 *Video) bool { func SortByViews(v1, v2 *Video) bool {
return v1.Views < v2.Views return v1.Views > v2.Views
} }