30 lines
600 B
Go
30 lines
600 B
Go
package txt
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"sub-cli/internal/model"
|
|
)
|
|
|
|
// GenerateFromSubtitle converts our intermediate Subtitle to plain text format
|
|
func GenerateFromSubtitle(subtitle model.Subtitle, filePath string) error {
|
|
file, err := os.Create(filePath)
|
|
if err != nil {
|
|
return fmt.Errorf("error creating TXT file: %w", err)
|
|
}
|
|
defer file.Close()
|
|
|
|
// Write title if available
|
|
if subtitle.Title != "" {
|
|
fmt.Fprintln(file, subtitle.Title)
|
|
fmt.Fprintln(file)
|
|
}
|
|
|
|
// Write content without timestamps
|
|
for _, entry := range subtitle.Entries {
|
|
fmt.Fprintln(file, entry.Text)
|
|
}
|
|
|
|
return nil
|
|
}
|