package main import ( "fmt" "strings" "github.com/animenotifier/arn" "github.com/fatih/color" ) func main() { defer arn.Node.Close() for anime := range arn.StreamAnime() { existing := map[string]string{} for index, mapping := range anime.Mappings { if mapping.Service != "thetvdb/anime" { continue } serviceID, exists := existing[mapping.Service] if exists { fmt.Println("duplicate:", color.YellowString(mapping.ServiceID), "of", color.YellowString(serviceID)) slashPos := strings.Index(serviceID, "/") if slashPos != -1 { serviceID = serviceID[:slashPos] } slashPos = strings.Index(mapping.ServiceID, "/") if slashPos != -1 { mapping.ServiceID = mapping.ServiceID[:slashPos] } if serviceID == mapping.ServiceID { // Remove duplicate anime.Mappings = append(anime.Mappings[:index], anime.Mappings[index+1:]...) anime.Save() break } } existing[mapping.Service] = mapping.ServiceID } } color.Green("Finished.") }