fix: align scraped media naming and release sorting

This commit is contained in:
ShukeBta
2026-07-03 02:55:33 +08:00
parent 78de029ef3
commit b610dda098
48 changed files with 544 additions and 42 deletions
@@ -10,6 +10,7 @@ type scanDerivedMetadata struct {
Title string
ScrapeStatus string
Year int
ReleaseDate string
TMDbID int
BangumiID int
DoubanID string
@@ -43,6 +44,9 @@ func cloudMetadataNeedsRefresh(existing existingCloudMedia, localMeta *LocalMeta
if localMeta.Year > 0 && existing.Year != localMeta.Year {
return true
}
if localMeta.ReleaseDate != "" && strings.TrimSpace(existing.ReleaseDate) != strings.TrimSpace(localMeta.ReleaseDate) {
return true
}
if localMeta.Overview != "" && strings.TrimSpace(existing.Overview) != strings.TrimSpace(localMeta.Overview) {
return true
}
@@ -131,6 +135,9 @@ func localMetadataNeedsRefresh(existing existingLocalMedia, local *LocalMetadata
if local.Year > 0 && existing.Year != local.Year {
return true
}
if local.ReleaseDate != "" && strings.TrimSpace(existing.ReleaseDate) != strings.TrimSpace(local.ReleaseDate) {
return true
}
if local.Overview != "" && strings.TrimSpace(existing.Overview) != strings.TrimSpace(local.Overview) {
return true
}
@@ -181,6 +188,7 @@ func cloudDerivedMetadataNeedsRefresh(existing existingCloudMedia, incoming *mod
Title: existing.Title,
ScrapeStatus: existing.ScrapeStatus,
Year: existing.Year,
ReleaseDate: existing.ReleaseDate,
TMDbID: existing.TMDbID,
BangumiID: existing.BangumiID,
DoubanID: existing.DoubanID,
@@ -204,6 +212,7 @@ func localDerivedMetadataNeedsRefresh(existing existingLocalMedia, incoming *mod
Title: existing.Title,
ScrapeStatus: existing.ScrapeStatus,
Year: existing.Year,
ReleaseDate: existing.ReleaseDate,
TMDbID: existing.TMDbID,
BangumiID: existing.BangumiID,
DoubanID: existing.DoubanID,
@@ -222,6 +231,9 @@ func scanDerivedMetadataNeedsRefresh(existing scanDerivedMetadata, incoming *mod
if enrichable && incoming.Year > 0 && existing.Year != incoming.Year {
return true
}
if enrichable && incoming.ReleaseDate != "" && strings.TrimSpace(existing.ReleaseDate) != strings.TrimSpace(incoming.ReleaseDate) {
return true
}
if (incoming.SeasonNum > 0 || incoming.EpisodeNum > 0) && existing.SeasonNum != incoming.SeasonNum {
return true
}