WIP: Add option to write metadata to output #104284

Closed
Ha-Anh-Vu wants to merge 1 commits from Ha-Anh-Vu/flamenco:issue100268 into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.

View File

@ -8,6 +8,7 @@ import (
"context"
"os/exec"
"regexp"
"slices"
"sync"
"github.com/google/shlex"
@ -20,6 +21,8 @@ import (
var regexpFileSaved = regexp.MustCompile("Saved: '(.*)'")
var writeMetadataToOutput = false
type BlenderParameters struct {
exe string // Expansion of `{blender}`: the executable path defined by the Manager.
exeArgs string // Expansion of `{blenderargs}`: its CLI parameters defined by the Manager.
@ -51,6 +54,10 @@ func (ce *CommandExecutor) cmdBlenderRender(ctx context.Context, logger zerolog.
}
}()
if writeMetadataToOutput {
lineChannel <- "Task ID: " + taskID
}
// Run the subprocess.
subprocessErr := ce.cli.RunWithTextOutput(ctx,
logger,
@ -141,6 +148,10 @@ func cmdBlenderRenderParams(logger zerolog.Logger, cmd api.Command) (BlenderPara
return parameters, NewParameterInvalidError("args", cmd, "cannot convert to list of strings")
}
if slices.Contains(parameters.args, "--write-metadata-to-output") {
writeMetadataToOutput = true
}
// Split the exeArgs string into separate parts, and prepend them to `argsBefore`.
exeArgs, err := shlex.Split(parameters.exeArgs)
if err != nil {