support u2v command

This commit is contained in:
tocariimaa 2024-12-30 23:12:00 -03:00
parent 9bab1e8413
commit b8f23db093

15
main.go
View file

@ -137,29 +137,36 @@ func ugoira2videoCmd(args []string, flags CliFlags) {
if len(args) < 2 { if len(args) < 2 {
die("expected ugoira zip file and manifest JSON") die("expected ugoira zip file and manifest JSON")
} }
_, manifestFileName := args[0], args[1] ugoiraFileName, manifestFileName := args[0], args[1]
mfp, err := os.Open(manifestFileName) mfp, err := os.Open(manifestFileName)
if err != nil { if err != nil {
die("Could not open manifest file: %s", err) die("Could not open manifest file: %s", err)
} }
defer mfp.Close() defer mfp.Close()
manifestData, err := io.ReadAll(mfp) manifestData, err := io.ReadAll(mfp)
if err != nil { if err != nil {
die("Could not read manifest: %s", err) die("Could not read manifest: %s", err)
} }
ugoira2video(decodeUgoiraManifest(manifestData))
err = ugoira2video(decodeUgoiraManifest(manifestData), ugoiraFileName, flags.outputFileName)
if err != nil {
die("Conversion failed: %s", err)
}
} }
func main() { func main() {
var flags CliFlags var flags CliFlags
downloadCmd := flag.NewFlagSet("download", flag.ExitOnError)
u2vCmd := flag.NewFlagSet("u2v", flag.ExitOnError)
downloadCmd := flag.NewFlagSet("download", flag.ExitOnError)
downloadCmd.StringVar(&flags.outputFileName, "o", "", "Ugoira output file name") downloadCmd.StringVar(&flags.outputFileName, "o", "", "Ugoira output file name")
downloadCmd.StringVar(&flags.manifestFileName, "M", "", "Ugoira manifest output file name") downloadCmd.StringVar(&flags.manifestFileName, "M", "", "Ugoira manifest output file name")
downloadCmd.StringVar(&flags.userAgent, "A", "", "User agent to use when doing GET requests") downloadCmd.StringVar(&flags.userAgent, "A", "", "User agent to use when doing GET requests")
downloadCmd.BoolVar(&flags.verbose, "v", false, "Enable verbosity") downloadCmd.BoolVar(&flags.verbose, "v", false, "Enable verbosity")
u2vCmd := flag.NewFlagSet("u2v", flag.ExitOnError)
u2vCmd.StringVar(&flags.outputFileName, "o", "", "Converted Ugoira output file")
if len(os.Args) < 2 { if len(os.Args) < 2 {
die("expected command") die("expected command")
} }