Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cmd/upbrr/cli_options_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -988,7 +988,7 @@ func TestPrintMetadataPreviewShowsRichReleaseDetails(t *testing.T) {
Rating: 7.9,
RatingCount: 1200,
}},
}, true)
}, true, nil)
})

for _, expected := range []string{
Expand Down
29 changes: 27 additions & 2 deletions cmd/upbrr/interactive.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,8 @@ func runInteractiveCLIPathWithInputAndLogger(ctx context.Context, coreSvc api.Co
}
metadataPreview = preview

printMetadataPreview(preview, currentOpts.Debug)
candidateTrackers, _ := resolveCLIUploadTrackers(currentVisited, req, metadataPreview, cfg)
printMetadataPreview(preview, currentOpts.Debug, candidateTrackers)
if currentOpts.Unattended && !currentOpts.UnattendedConfirm {
break
}
Expand Down Expand Up @@ -1150,7 +1151,7 @@ func isUnattendedNoConfirm(req api.Request) bool {

// printMetadataPreview writes the pre-upload confirmation details shown by the
// CLI, including a debug-mode notice when tracker uploads will not run.
func printMetadataPreview(preview api.MetadataPreview, debug bool) {
func printMetadataPreview(preview api.MetadataPreview, debug bool, trackers []string) {
fmt.Println()
fmt.Println("Release details")
if debug {
Expand All @@ -1174,6 +1175,30 @@ func printMetadataPreview(preview api.MetadataPreview, debug bool) {
fmt.Printf("- %s\n", warning)
}
}

if len(preview.TrackerRuleFailures) > 0 {
trackerSet := make(map[string]struct{}, len(trackers))
for _, t := range trackers {
trackerSet[strings.ToUpper(strings.TrimSpace(t))] = struct{}{}
}

var failedTrackers []string
for tracker := range preview.TrackerRuleFailures {
if _, ok := trackerSet[tracker]; ok {
failedTrackers = append(failedTrackers, tracker)
}
}

if len(failedTrackers) > 0 {
fmt.Println("Rule Failures:")
sort.Strings(failedTrackers)
for _, tracker := range failedTrackers {
for _, failure := range preview.TrackerRuleFailures[tracker] {
fmt.Printf("- [%s] %s: %s\n", tracker, failure.Rule, failure.Reason)
}
}
}
}
}

func printMetadataDatabaseInfo(external api.ExternalPreview, preview api.MetadataPreview) {
Expand Down
6 changes: 6 additions & 0 deletions internal/metadata/media_details.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,12 @@ func (s *Service) ApplyMediaDetails(ctx context.Context, meta api.PreparedMetada
s.logger.Debugf("metadata: media languages audio=%v subs=%v", meta.AudioLanguages, meta.SubtitleLanguages)
}

meta.ValidMediaInfoTracks = true
_, videoTracks, audioTracks := splitMediaInfoTracks(miDoc)
if len(videoTracks) == 0 && len(audioTracks) == 0 && !strings.EqualFold(strings.TrimSpace(meta.DiscType), "BDMV") && meta.MediaInfoJSONPath != "" {
meta.ValidMediaInfoTracks = false
}

Comment thread
wasserrutschentester marked this conversation as resolved.
bdinfo := loadBDInfo(meta, s.cfg.MainSettings.DBPath)

meta.Container = containerFromMeta(meta)
Expand Down
Loading
Loading