mirror of
https://github.com/davegallant/rfd-fyi.git
synced 2026-03-03 09:36:35 +00:00
Deduplicate deals
This commit is contained in:
@@ -178,6 +178,7 @@ func (a *App) refreshTopics() {
|
|||||||
latestTopics := a.getDeals(9, 1, 6)
|
latestTopics := a.getDeals(9, 1, 6)
|
||||||
|
|
||||||
if len(latestTopics) > 0 {
|
if len(latestTopics) > 0 {
|
||||||
|
latestTopics = a.deduplicateTopics(latestTopics)
|
||||||
latestTopics = a.updateScores(latestTopics)
|
latestTopics = a.updateScores(latestTopics)
|
||||||
|
|
||||||
log.Info().Msg("Refreshing redirects")
|
log.Info().Msg("Refreshing redirects")
|
||||||
@@ -231,6 +232,22 @@ func (a *App) stripRedirects(t []Topic) []Topic {
|
|||||||
return t
|
return t
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *App) deduplicateTopics(topics []Topic) []Topic {
|
||||||
|
seen := make(map[uint]bool)
|
||||||
|
var deduplicated []Topic
|
||||||
|
|
||||||
|
for _, topic := range topics {
|
||||||
|
if !seen[topic.TopicID] {
|
||||||
|
seen[topic.TopicID] = true
|
||||||
|
deduplicated = append(deduplicated, topic)
|
||||||
|
} else {
|
||||||
|
log.Debug().Msgf("Removing duplicate topic: %d", topic.TopicID)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return deduplicated
|
||||||
|
}
|
||||||
|
|
||||||
func (a *App) isSponsor(t Topic) bool {
|
func (a *App) isSponsor(t Topic) bool {
|
||||||
return strings.HasPrefix(t.Title, "[Sponsored]")
|
return strings.HasPrefix(t.Title, "[Sponsored]")
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
backend/rfd-fyi
Executable file
BIN
backend/rfd-fyi
Executable file
Binary file not shown.
Reference in New Issue
Block a user