Fix unnecessary subtitle removing (#18) and add option to enable custom subtitle sorting

This commit is contained in:
bytedream 2022-03-26 19:10:02 +01:00
parent 851dab7aac
commit 8e791f7e8b

View file

@ -385,13 +385,15 @@ func archiveInfo(info formatInformation, writeCloser io.WriteCloser, filename st
} }
sort.Sort(utils.SubtitlesByLocale(info.format.Subtitles)) sort.Sort(utils.SubtitlesByLocale(info.format.Subtitles))
if len(archiveLanguagesFlag) > 0 && archiveLanguagesFlag[0] != "all" {
for j, language := range archiveLanguagesFlag { sortSubtitles, _ := strconv.ParseBool(os.Getenv("SORT_SUBTITLES"))
locale := crunchyroll.LOCALE(language) if sortSubtitles && len(archiveLanguagesFlag) > 0 {
for k, subtitle := range info.format.Subtitles { // this sort the subtitle locales after the languages which were specified
if subtitle.Locale == locale { // with the `archiveLanguagesFlag` flag
info.format.Subtitles = append(info.format.Subtitles[:k], info.format.Subtitles[k+1:]...) for _, language := range archiveLanguagesFlag {
info.format.Subtitles = append(info.format.Subtitles[:j], append([]*crunchyroll.Subtitle{subtitle}, info.format.Subtitles[j:]...)...) for i, subtitle := range info.format.Subtitles {
if subtitle.Locale == crunchyroll.LOCALE(language) {
info.format.Subtitles = append([]*crunchyroll.Subtitle{subtitle}, append(info.format.Subtitles[:i], info.format.Subtitles[i+1:]...)...)
break break
} }
} }