Add split-output to cli

This commit is contained in:
2021-12-17 21:46:13 +01:00
parent ec9426b59c
commit 7040909625
2 changed files with 76 additions and 20 deletions

View File

@@ -26,6 +26,7 @@ var customer = pflag.StringP("customer", "c", "", "Customer name for cover")
var numberPrefix = pflag.String("number-prefix", "offerte", "Prefix to use for number")
var color = pflag.String("color", "random", "Selects a color to use for the grid highlight. Valid choices: ['random', 'red', 'blue', 'yellow', 'green']")
var output = pflag.StringP("output", "o", "cover.pdf", "File to output to")
var output2 = pflag.StringP("output-back", "b", "", "Output front and back separately")
func init() {
log.Logger = zerolog.New(zerolog.ConsoleWriter{Out: os.Stderr, TimeFormat: time.RFC3339}).With().Timestamp().Logger()
@@ -69,19 +70,39 @@ func main() {
}
*customer = strings.ReplaceAll(*customer, "\\n", "\n")
pdf, err := covergen.GenerateInvoice(covergen.CoverSettings{
settings := covergen.CoverSettings{
Number: *number,
NumberPrefix: *numberPrefix,
CustomerName: *customer,
HLColor: chosenColor,
})
if err != nil {
log.Fatal().Err(err).Msg("Failed to render invoice")
}
if err := pdf.OutputFileAndClose(*output); err != nil {
log.Fatal().Err(err).Msg("Failed to write invoice to disk")
if *output2 == "" {
pdf, err := covergen.GenerateInvoice(settings)
if err != nil {
log.Fatal().Err(err).Msg("Failed to render invoice")
}
if err := pdf.OutputFileAndClose(*output); err != nil {
log.Fatal().Err(err).Msg("Failed to write invoice to disk")
}
} else {
front, err := covergen.GenerateFrontCover(settings)
if err != nil {
log.Fatal().Err(err).Msg("Failed to render front")
}
if err := front.OutputFileAndClose(*output); err != nil {
log.Fatal().Err(err).Msg("Failed to write front to disk")
}
back, err := covergen.GenerateBackCover(settings)
if err != nil {
log.Fatal().Err(err).Msg("Failed to render back")
}
if err := back.OutputFileAndClose(*output2); err != nil {
log.Fatal().Err(err).Msg("Failed to write back to disk")
}
}
}