combine print and exit 1 to fatal

This commit is contained in:
Celogeek 2024-05-18 14:54:49 +02:00
parent 0c8e54f0c4
commit 2755aae487
Signed by: celogeek
SSH Key Fingerprint: SHA256:njNJLzoLQdbV9PC6ehcruRb0QnEgxABoCYZ+0+aUIYc
5 changed files with 19 additions and 19 deletions

View File

@ -407,8 +407,7 @@ func (c *Converter) Validate() error {
// Fatal Helper to show usage, err and exit 1 // Fatal Helper to show usage, err and exit 1
func (c *Converter) Fatal(err error) { func (c *Converter) Fatal(err error) {
c.Cmd.Usage() c.Cmd.Usage()
utils.Printf("\nError: %s\n", err) utils.Fatalf("\nError: %s\n", err)
os.Exit(1)
} }
func (c *Converter) Stats() { func (c *Converter) Stats() {

View File

@ -319,8 +319,7 @@ func (e EPUBImageProcessor) loadCbr() (totalImages int, output chan task, err er
if isSolid && !e.Dry { if isSolid && !e.Dry {
r, rerr := rardecode.OpenReader(e.Input) r, rerr := rardecode.OpenReader(e.Input)
if rerr != nil { if rerr != nil {
utils.Printf("\nerror processing image %s: %s\n", e.Input, rerr) utils.Fatalf("\nerror processing image %s: %s\n", e.Input, rerr)
os.Exit(1)
} }
defer func(r *rardecode.ReadCloser) { defer func(r *rardecode.ReadCloser) {
_ = r.Close() _ = r.Close()
@ -331,15 +330,13 @@ func (e EPUBImageProcessor) loadCbr() (totalImages int, output chan task, err er
if rerr == io.EOF { if rerr == io.EOF {
break break
} }
utils.Printf("\nerror processing image %s: %s\n", f.Name, rerr) utils.Fatalf("\nerror processing image %s: %s\n", f.Name, rerr)
os.Exit(1)
} }
if i, ok := indexedNames[f.Name]; ok { if i, ok := indexedNames[f.Name]; ok {
var b bytes.Buffer var b bytes.Buffer
_, rerr = io.Copy(&b, r) _, rerr = io.Copy(&b, r)
if rerr != nil { if rerr != nil {
utils.Printf("\nerror processing image %s: %s\n", f.Name, rerr) utils.Fatalf("\nerror processing image %s: %s\n", f.Name, rerr)
os.Exit(1)
} }
jobs <- job{i, f.Name, func() (io.ReadCloser, error) { jobs <- job{i, f.Name, func() (io.ReadCloser, error) {
return io.NopCloser(bytes.NewReader(b.Bytes())), nil return io.NopCloser(bytes.NewReader(b.Bytes())), nil

View File

@ -5,7 +5,6 @@ import (
"image" "image"
"image/color" "image/color"
"image/draw" "image/draw"
"os"
"sync" "sync"
"github.com/disintegration/gift" "github.com/disintegration/gift"
@ -84,8 +83,7 @@ func (e EPUBImageProcessor) Load() (images []epubimage.EPUBImage, err error) {
e.EPUBOptions.Image.AutoSplitDoublePage && !e.EPUBOptions.Image.KeepDoublePageIfSplit) { e.EPUBOptions.Image.AutoSplitDoublePage && !e.EPUBOptions.Image.KeepDoublePageIfSplit) {
if err = imgStorage.Add(img.EPUBImgPath(), img.Raw, e.Image.Quality); err != nil { if err = imgStorage.Add(img.EPUBImgPath(), img.Raw, e.Image.Quality); err != nil {
_ = bar.Close() _ = bar.Close()
utils.Printf("error with %s: %s", input.Name, err) utils.Fatalln("error with %s: %s", input.Name, err)
os.Exit(1)
} }
// do not keep raw image except for cover // do not keep raw image except for cover
if img.Id > 0 { if img.Id > 0 {
@ -105,8 +103,7 @@ func (e EPUBImageProcessor) Load() (images []epubimage.EPUBImage, err error) {
img = e.transformImage(input, i+1, b) img = e.transformImage(input, i+1, b)
if err = imgStorage.Add(img.EPUBImgPath(), img.Raw, e.Image.Quality); err != nil { if err = imgStorage.Add(img.EPUBImgPath(), img.Raw, e.Image.Quality); err != nil {
_ = bar.Close() _ = bar.Close()
utils.Printf("error with %s: %s", input.Name, err) utils.Fatalf("error with %s: %s", input.Name, err)
os.Exit(1)
} }
img.Raw = nil img.Raw = nil
imageOutput <- img imageOutput <- img

View File

@ -10,10 +10,20 @@ func Printf(format string, a ...interface{}) {
_, _ = fmt.Fprintf(os.Stderr, format, a...) _, _ = fmt.Fprintf(os.Stderr, format, a...)
} }
func Fatalf(format string, args ...interface{}) {
Printf(format, args...)
os.Exit(1)
}
func Println(a ...interface{}) { func Println(a ...interface{}) {
_, _ = fmt.Fprintln(os.Stderr, a...) _, _ = fmt.Fprintln(os.Stderr, a...)
} }
func Fatalln(a ...interface{}) {
Println(a...)
os.Exit(1)
}
func IntToString(i int) string { func IntToString(i int) string {
return strconv.FormatInt(int64(i), 10) return strconv.FormatInt(int64(i), 10)
} }

View File

@ -46,8 +46,7 @@ func main() {
func version() { func version() {
bi, ok := debug.ReadBuildInfo() bi, ok := debug.ReadBuildInfo()
if !ok { if !ok {
utils.Println("failed to fetch current version") utils.Fatalln("failed to fetch current version")
os.Exit(1)
} }
githubTag := &latest.GithubTag{ githubTag := &latest.GithubTag{
@ -56,8 +55,7 @@ func version() {
} }
v, err := githubTag.Fetch() v, err := githubTag.Fetch()
if err != nil || len(v.Versions) < 1 { if err != nil || len(v.Versions) < 1 {
utils.Println("failed to fetch the latest version") utils.Fatalln("failed to fetch the latest version")
os.Exit(1)
} }
latestVersion := v.Versions[0] latestVersion := v.Versions[0]
@ -184,8 +182,7 @@ func generate(cmd *converter.Converter) {
AppleBookCompatibility: cmd.Options.AppleBookCompatibility, AppleBookCompatibility: cmd.Options.AppleBookCompatibility,
}, },
}).Write(); err != nil { }).Write(); err != nil {
utils.Printf("Error: %v\n", err) utils.Fatalf("Error: %v\n", err)
os.Exit(1)
} }
if !cmd.Options.Dry { if !cmd.Options.Dry {
cmd.Stats() cmd.Stats()