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
+17 -7
View File
@@ -18,6 +18,7 @@ type embySeriesGroup struct {
Overview string
Rating float32
Year int
ReleaseDate string
TMDbID int
BangumiID int
CreatedAt time.Time
@@ -117,13 +118,14 @@ func (e *EmbyService) seriesGroupsFromMedia(rows []model.Media) []embySeriesGrou
group, ok := byID[seriesID]
if !ok {
group = &embySeriesGroup{
ID: seriesID,
LibraryID: row.LibraryID,
Name: e.seriesNameForMedia(&row),
Year: row.Year,
TMDbID: row.TMDbID,
BangumiID: row.BangumiID,
CreatedAt: row.CreatedAt,
ID: seriesID,
LibraryID: row.LibraryID,
Name: e.seriesNameForMedia(&row),
Year: row.Year,
ReleaseDate: row.ReleaseDate,
TMDbID: row.TMDbID,
BangumiID: row.BangumiID,
CreatedAt: row.CreatedAt,
}
byID[seriesID] = group
order = append(order, seriesID)
@@ -131,6 +133,14 @@ func (e *EmbyService) seriesGroupsFromMedia(rows []model.Media) []embySeriesGrou
if row.CreatedAt.After(group.CreatedAt) {
group.CreatedAt = row.CreatedAt
}
if strings.TrimSpace(row.ReleaseDate) != "" && mediaReleaseSortTime(row).After(embySeriesReleaseSortTime(*group)) {
group.ReleaseDate = row.ReleaseDate
if row.Year > 0 {
group.Year = row.Year
}
} else if group.ReleaseDate == "" && group.Year == 0 && row.Year > 0 {
group.Year = row.Year
}
if group.PosterURL == "" && row.PosterURL != "" {
group.PosterURL = row.PosterURL
}