/******************************************************************************* * Copyright 2022 Stefan Majewsky * SPDX-License-Identifier: GPL-3.0-only * Refer to the file "LICENSE" for details. *******************************************************************************/ package main import ( "fmt" "os" "path/filepath" ) func main() { if len(os.Args) != 2 { usage(1) } switch os.Args[1] { case "upload": Upload(Scan()) case "generate": Generate(Scan()) case "help", "--help": usage(0) } scanResult := Scan() fmt.Printf("%#v", scanResult) } func must(err error) { if err != nil { fail(err.Error()) } } func fail(msg string, args ...interface{}) { if len(args) > 0 { msg = fmt.Sprintf(msg, args...) } fmt.Fprintln(os.Stderr, "ERROR: ", msg) os.Exit(1) } func usage(exitCode int) { fmt.Fprintf(os.Stderr, "Usage:\n\n"+ " %[1]s upload - Upload all relevant files for one episode to .\n"+ " %[1]s generate - Generate the c3d2-web news entry XML file for one episode.\n\n"+ "All relevant files (audios, chapter marks file, shownotes Markdown file) must be in the working directory.\n", filepath.Base(os.Args[0]), ) os.Exit(exitCode) }