diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-08 09:48:42 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-08 09:48:42 +0300 |
| commit | 246881b00c3af3834ad612a64422dff265027234 (patch) | |
| tree | 9c03af3299bb4cdd4048e66c334c97704bda5a0e /internal/processor/processor.go | |
| parent | f9c7585730d2d119939a6e1e503684ca6ff2e086 (diff) | |
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
Diffstat (limited to 'internal/processor/processor.go')
| -rw-r--r-- | internal/processor/processor.go | 9 |
1 files changed, 4 insertions, 5 deletions
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") |
