Cleanup: move Blender command param parsing to its own function
This commit is contained in:
parent
20965691d0
commit
db4505e5fd
@ -39,26 +39,9 @@ type BlenderParameters struct {
|
|||||||
|
|
||||||
// cmdBlender executes the "blender-render" command.
|
// cmdBlender executes the "blender-render" command.
|
||||||
func (ce *CommandExecutor) cmdBlenderRender(ctx context.Context, logger zerolog.Logger, taskID string, cmd api.Command) error {
|
func (ce *CommandExecutor) cmdBlenderRender(ctx context.Context, logger zerolog.Logger, taskID string, cmd api.Command) error {
|
||||||
var (
|
parameters, err := cmdBlenderRenderParams(logger, cmd)
|
||||||
parameters BlenderParameters
|
if err != nil {
|
||||||
ok bool
|
return err
|
||||||
)
|
|
||||||
|
|
||||||
if parameters.exe, ok = cmdParameter[string](cmd, "exe"); !ok || parameters.exe == "" {
|
|
||||||
logger.Warn().Interface("command", cmd).Msg("missing 'exe' parameter")
|
|
||||||
return fmt.Errorf("missing 'exe' parameter: %+v", cmd.Parameters)
|
|
||||||
}
|
|
||||||
if parameters.argsBefore, ok = cmdParameterAsStrings(cmd, "argsBefore"); !ok {
|
|
||||||
logger.Warn().Interface("command", cmd).Msg("invalid 'argsBefore' parameter")
|
|
||||||
return fmt.Errorf("invalid 'argsBefore' parameter: %+v", cmd.Parameters)
|
|
||||||
}
|
|
||||||
if parameters.blendfile, ok = cmdParameter[string](cmd, "blendfile"); !ok || parameters.blendfile == "" {
|
|
||||||
logger.Warn().Interface("command", cmd).Msg("missing 'blendfile' parameter")
|
|
||||||
return fmt.Errorf("missing 'blendfile' parameter: %+v", cmd.Parameters)
|
|
||||||
}
|
|
||||||
if parameters.args, ok = cmdParameterAsStrings(cmd, "args"); !ok {
|
|
||||||
logger.Warn().Interface("command", cmd).Msg("invalid 'args' parameter")
|
|
||||||
return fmt.Errorf("invalid 'args' parameter: %+v", cmd.Parameters)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cliArgs := make([]string, 0)
|
cliArgs := make([]string, 0)
|
||||||
@ -82,3 +65,29 @@ func (ce *CommandExecutor) cmdBlenderRender(ctx context.Context, logger zerolog.
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func cmdBlenderRenderParams(logger zerolog.Logger, cmd api.Command) (BlenderParameters, error) {
|
||||||
|
var (
|
||||||
|
parameters BlenderParameters
|
||||||
|
ok bool
|
||||||
|
)
|
||||||
|
|
||||||
|
if parameters.exe, ok = cmdParameter[string](cmd, "exe"); !ok || parameters.exe == "" {
|
||||||
|
logger.Warn().Interface("command", cmd).Msg("missing 'exe' parameter")
|
||||||
|
return parameters, fmt.Errorf("missing 'exe' parameter: %+v", cmd.Parameters)
|
||||||
|
}
|
||||||
|
if parameters.argsBefore, ok = cmdParameterAsStrings(cmd, "argsBefore"); !ok {
|
||||||
|
logger.Warn().Interface("command", cmd).Msg("invalid 'argsBefore' parameter")
|
||||||
|
return parameters, fmt.Errorf("invalid 'argsBefore' parameter: %+v", cmd.Parameters)
|
||||||
|
}
|
||||||
|
if parameters.blendfile, ok = cmdParameter[string](cmd, "blendfile"); !ok || parameters.blendfile == "" {
|
||||||
|
logger.Warn().Interface("command", cmd).Msg("missing 'blendfile' parameter")
|
||||||
|
return parameters, fmt.Errorf("missing 'blendfile' parameter: %+v", cmd.Parameters)
|
||||||
|
}
|
||||||
|
if parameters.args, ok = cmdParameterAsStrings(cmd, "args"); !ok {
|
||||||
|
logger.Warn().Interface("command", cmd).Msg("invalid 'args' parameter")
|
||||||
|
return parameters, fmt.Errorf("invalid 'args' parameter: %+v", cmd.Parameters)
|
||||||
|
}
|
||||||
|
|
||||||
|
return parameters, nil
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user