From 246881b00c3af3834ad612a64422dff265027234 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 8 Apr 2026 09:48:42 +0300 Subject: fix(processor): propagate errors from attribution and sidecar writes Return errors from saveAudioAttribution (including audio_metadata.txt), image prompt persistence (callback + saveImagePrompt), and ProcessWordWithTranslationAndType (card type, translation, phonetic) instead of only logging warnings so callers see partial failures. Made-with: Cursor --- internal/processor/processor.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'internal/processor/processor.go') diff --git a/internal/processor/processor.go b/internal/processor/processor.go index 323df23..67dc897 100644 --- a/internal/processor/processor.go +++ b/internal/processor/processor.go @@ -253,19 +253,18 @@ func (p *Processor) ProcessWordWithTranslationAndType(ctx context.Context, word, wordDir := p.findOrCreateWordDirectory(word) if err := internal.SaveCardType(wordDir, cardType); err != nil { - fmt.Printf(" Warning: Failed to save card type: %v\n", err) + return fmt.Errorf("failed to save card type: %w", err) } if err := p.saveTranslationIfNeeded(word, translationText, wordDir); err != nil { - fmt.Printf(" Warning: Failed to save translation: %v\n", err) + return fmt.Errorf("failed to save translation: %w", err) } fmt.Printf(" Fetching phonetic information...\n") if err := p.phoneticFetcher.FetchAndSave(word, wordDir); err != nil { - fmt.Printf(" Warning: Failed to fetch phonetic info: %v\n", err) - } else { - fmt.Printf(" Saved phonetic information\n") + return fmt.Errorf("failed to fetch phonetic info: %w", err) } + fmt.Printf(" Saved phonetic information\n") if !p.flags.SkipAudio { fmt.Printf(" Generating audio...\n") -- cgit v1.2.3