diff --git a/app/checker/checker.go b/app/checker/checker.go index 9ef8e42..0cb241d 100644 --- a/app/checker/checker.go +++ b/app/checker/checker.go @@ -268,7 +268,6 @@ func CheckChannels(pls playlist.Playlist) playlist.Playlist { select { case tvChannel := <-chOnline: tvChannel.IsOnline = true - pls.OnlineCount++ pls.Channels[tvChannel.Id] = tvChannel if app.Args.Verbose { log.Printf("[%.3d/%.3d] ONLINE '%s'\n", idx, count, tvChannel.Title) @@ -277,7 +276,6 @@ func CheckChannels(pls playlist.Playlist) playlist.Playlist { log.Printf("> MimeType: %s\n", tvChannel.ContentType) } case tvChannel := <-chOffline: - pls.OfflineCount++ pls.Channels[tvChannel.Id] = tvChannel if app.Args.Verbose { log.Printf("[%.3d/%.3d] OFFLINE '%s'\n", idx, count, tvChannel.Title) @@ -286,7 +284,6 @@ func CheckChannels(pls playlist.Playlist) playlist.Playlist { log.Printf("> Status: %d\n", tvChannel.Status) } case data := <-chError: - pls.OfflineCount++ pls.Channels[data.tvChannel.Id] = data.tvChannel if app.Args.Verbose { log.Printf("[%.3d/%.3d] ERROR '%s'\n", idx, count, data.tvChannel.Title) @@ -303,6 +300,14 @@ func CheckChannels(pls playlist.Playlist) playlist.Playlist { close(chError) pls.CheckedAt = time.Now().Unix() + for _, tvChannel := range pls.Channels { + if tvChannel.IsOnline { + pls.OnlineCount++ + } else { + pls.OfflineCount++ + } + } + log.Printf( "Checked successfully! online=%d onlinePercent=%.2f%% offline=%d offlinePercent=%.2f%% elapsedTime=%.2fs", pls.OnlineCount,