Improved rating system
This commit is contained in:
parent
8fa4d1b941
commit
e46c74d7b9
@ -48,6 +48,30 @@ func main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Save number of people who rated on this
|
||||||
|
finalRating[animeID].Count.Overall = len(overall)
|
||||||
|
finalRating[animeID].Count.Story = len(story)
|
||||||
|
finalRating[animeID].Count.Visuals = len(visuals)
|
||||||
|
finalRating[animeID].Count.Soundtrack = len(soundtrack)
|
||||||
|
|
||||||
|
// Dampen the rating if number of users is too low
|
||||||
|
if len(overall) < arn.RatingCountThreshold {
|
||||||
|
overall = append(overall, arn.AverageRating)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(story) < arn.RatingCountThreshold {
|
||||||
|
story = append(story, arn.AverageRating)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(visuals) < arn.RatingCountThreshold {
|
||||||
|
visuals = append(visuals, arn.AverageRating)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(soundtrack) < arn.RatingCountThreshold {
|
||||||
|
soundtrack = append(soundtrack, arn.AverageRating)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Average rating
|
||||||
finalRating[animeID].Overall = average(overall)
|
finalRating[animeID].Overall = average(overall)
|
||||||
finalRating[animeID].Story = average(story)
|
finalRating[animeID].Story = average(story)
|
||||||
finalRating[animeID].Visuals = average(visuals)
|
finalRating[animeID].Visuals = average(visuals)
|
||||||
@ -75,7 +99,7 @@ func main() {
|
|||||||
|
|
||||||
func average(floatSlice []float64) float64 {
|
func average(floatSlice []float64) float64 {
|
||||||
if len(floatSlice) == 0 {
|
if len(floatSlice) == 0 {
|
||||||
return arn.DefaultAverageRating
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
var sum float64
|
var sum float64
|
||||||
|
3
jobs/mal-download/files/.gitignore
vendored
3
jobs/mal-download/files/.gitignore
vendored
@ -1,3 +0,0 @@
|
|||||||
*
|
|
||||||
!*/
|
|
||||||
!.gitignore
|
|
@ -1,5 +1,5 @@
|
|||||||
component Rating(value float64, user *arn.User)
|
component Rating(value float64, userCount int, user *arn.User)
|
||||||
if user == nil
|
if user == nil
|
||||||
.anime-rating= fmt.Sprintf("%.1f", value)
|
.anime-rating(title="Rated by " + arn.Plural(userCount, "user"))= fmt.Sprintf("%.1f", value)
|
||||||
else
|
else
|
||||||
.anime-rating= fmt.Sprintf("%." + strconv.Itoa(user.Settings().Format.RatingsPrecision) + "f", value)
|
.anime-rating(title="Rated by " + arn.Plural(userCount, "user"))= fmt.Sprintf("%." + strconv.Itoa(user.Settings().Format.RatingsPrecision) + "f", value)
|
@ -67,25 +67,25 @@ component AnimeRatings(anime *arn.Anime, user *arn.User)
|
|||||||
else
|
else
|
||||||
span Overall:
|
span Overall:
|
||||||
td.anime-info-value
|
td.anime-info-value
|
||||||
Rating(anime.Rating.Overall, user)
|
Rating(anime.Rating.Overall, anime.Rating.Count.Overall, user)
|
||||||
|
|
||||||
if anime.Rating.Story > 0
|
if anime.Rating.Count.Story > 0
|
||||||
tr.mountable(data-mountable-type="info")
|
tr.mountable(data-mountable-type="info")
|
||||||
td.anime-info-key Story:
|
td.anime-info-key Story:
|
||||||
td.anime-info-value
|
td.anime-info-value
|
||||||
Rating(anime.Rating.Story, user)
|
Rating(anime.Rating.Story, anime.Rating.Count.Story, user)
|
||||||
|
|
||||||
if anime.Rating.Visuals > 0
|
if anime.Rating.Count.Visuals > 0
|
||||||
tr.mountable(data-mountable-type="info")
|
tr.mountable(data-mountable-type="info")
|
||||||
td.anime-info-key Visuals:
|
td.anime-info-key Visuals:
|
||||||
td.anime-info-value
|
td.anime-info-value
|
||||||
Rating(anime.Rating.Visuals, user)
|
Rating(anime.Rating.Visuals, anime.Rating.Count.Visuals, user)
|
||||||
|
|
||||||
if anime.Rating.Soundtrack > 0
|
if anime.Rating.Count.Soundtrack > 0
|
||||||
tr.mountable(data-mountable-type="info")
|
tr.mountable(data-mountable-type="info")
|
||||||
td.anime-info-key Soundtrack:
|
td.anime-info-key Soundtrack:
|
||||||
td.anime-info-value
|
td.anime-info-value
|
||||||
Rating(anime.Rating.Soundtrack, user)
|
Rating(anime.Rating.Soundtrack, anime.Rating.Count.Soundtrack, user)
|
||||||
|
|
||||||
component AnimePopularity(anime *arn.Anime)
|
component AnimePopularity(anime *arn.Anime)
|
||||||
if anime.Popularity.Total() > 0
|
if anime.Popularity.Total() > 0
|
||||||
|
Loading…
Reference in New Issue
Block a user