mirror of
https://github.com/celogeek/go-comic-converter.git
synced 2025-05-25 00:02:37 +02:00
76 lines
1.7 KiB
Go
76 lines
1.7 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/celogeek/go-comic-converter/internal/converter"
|
|
"github.com/celogeek/go-comic-converter/internal/epub"
|
|
)
|
|
|
|
func main() {
|
|
cmd := converter.New()
|
|
if err := cmd.LoadConfig(); err != nil {
|
|
cmd.Fatal(err)
|
|
}
|
|
cmd.InitParse()
|
|
cmd.Parse()
|
|
|
|
if cmd.Options.Save {
|
|
cmd.Options.SaveDefault()
|
|
fmt.Fprintf(
|
|
os.Stderr,
|
|
"%s%s\n\nSaving to %s\n",
|
|
cmd.Options.Header(),
|
|
cmd.Options.ShowDefault(),
|
|
cmd.Options.FileName(),
|
|
)
|
|
return
|
|
}
|
|
|
|
if cmd.Options.Show {
|
|
fmt.Fprintln(os.Stderr, cmd.Options.Header(), cmd.Options.ShowDefault())
|
|
return
|
|
}
|
|
|
|
if err := cmd.Validate(); err != nil {
|
|
cmd.Fatal(err)
|
|
}
|
|
|
|
fmt.Fprintln(os.Stderr, cmd.Options)
|
|
|
|
if cmd.Options.Dry {
|
|
return
|
|
}
|
|
|
|
profile := cmd.Options.GetProfile()
|
|
if err := epub.NewEpub(&epub.EpubOptions{
|
|
Input: cmd.Options.Input,
|
|
Output: cmd.Options.Output,
|
|
LimitMb: cmd.Options.LimitMb,
|
|
Title: cmd.Options.Title,
|
|
Author: cmd.Options.Author,
|
|
ImageOptions: &epub.ImageOptions{
|
|
ViewWidth: profile.Width,
|
|
ViewHeight: profile.Height,
|
|
Quality: cmd.Options.Quality,
|
|
Crop: cmd.Options.Crop,
|
|
Palette: profile.Palette,
|
|
Brightness: cmd.Options.Brightness,
|
|
Contrast: cmd.Options.Contrast,
|
|
AutoRotate: cmd.Options.AutoRotate,
|
|
AutoSplitDoublePage: cmd.Options.AutoSplitDoublePage,
|
|
NoBlankPage: cmd.Options.NoBlankPage,
|
|
Manga: cmd.Options.Manga,
|
|
HasCover: cmd.Options.HasCover,
|
|
AddPanelView: cmd.Options.AddPanelView,
|
|
Workers: cmd.Options.Workers,
|
|
},
|
|
}).Write(); err != nil {
|
|
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
os.Exit(0)
|
|
}
|