2018-04-13 11:09:46 +00:00
|
|
|
package filtersoundtracks
|
|
|
|
|
|
|
|
import (
|
2018-04-25 14:13:03 +00:00
|
|
|
"strings"
|
|
|
|
|
2018-04-13 11:09:46 +00:00
|
|
|
"github.com/aerogo/aero"
|
|
|
|
"github.com/animenotifier/arn"
|
|
|
|
)
|
|
|
|
|
2018-04-25 14:13:03 +00:00
|
|
|
// MissingLyrics shows soundtracks without lyrics.
|
|
|
|
func MissingLyrics(ctx *aero.Context) string {
|
2018-04-13 11:09:46 +00:00
|
|
|
return editorList(
|
|
|
|
ctx,
|
|
|
|
"Soundtracks without lyrics",
|
|
|
|
func(track *arn.SoundTrack) bool {
|
2018-04-25 18:07:18 +00:00
|
|
|
if !track.HasTag("vocal") {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
2018-04-13 11:09:46 +00:00
|
|
|
return !track.HasLyrics()
|
|
|
|
},
|
|
|
|
func(track *arn.SoundTrack) string {
|
|
|
|
return "https://www.google.com/search?q=" + track.Title.String() + " lyrics site:animelyrics.com"
|
|
|
|
},
|
|
|
|
)
|
|
|
|
}
|
2018-04-25 14:13:03 +00:00
|
|
|
|
|
|
|
// UnalignedLyrics shows soundtracks with unaligned lyrics.
|
|
|
|
func UnalignedLyrics(ctx *aero.Context) string {
|
|
|
|
return editorList(
|
|
|
|
ctx,
|
|
|
|
"Soundtracks with unaligned lyrics",
|
|
|
|
func(track *arn.SoundTrack) bool {
|
2018-04-25 18:07:18 +00:00
|
|
|
if !track.HasTag("vocal") {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
2018-04-25 14:13:03 +00:00
|
|
|
return track.Lyrics.Native != "" && track.Lyrics.Romaji != "" && strings.Count(track.Lyrics.Native, "\n") != strings.Count(track.Lyrics.Romaji, "\n")
|
|
|
|
},
|
|
|
|
nil,
|
|
|
|
)
|
|
|
|
}
|