Sybren A. Stüvel 02fac6a4df Change Go package name from git.blender.org to projects.blender.org
Change the package base name of the Go code, from
`git.blender.org/flamenco` to `projects.blender.org/studio/flamenco`.

The old location, `git.blender.org`, has no longer been use since the
[migration to Gitea][1]. The new package names now reflect the actual
location where Flamenco is hosted.

[1]: https://code.blender.org/2023/02/new-blender-development-infrastructure/
2023-08-01 12:42:31 +02:00

64 lines
1.7 KiB
Go

package worker
// SPDX-License-Identifier: GPL-3.0-or-later
import (
"fmt"
"projects.blender.org/studio/flamenco/pkg/api"
)
// This file contains error types used in the rest of the Worker code.
// ParameterInvalidError is returned by command executors when a mandatory
// command parameter is missing.
type ParameterMissingError struct {
Parameter string
Cmd api.Command
}
func NewParameterMissingError(parameter string, cmd api.Command) ParameterMissingError {
return ParameterMissingError{
Parameter: parameter,
Cmd: cmd,
}
}
func (err ParameterMissingError) Error() string {
return fmt.Sprintf("%s: mandatory parameter %q is missing: %+v",
err.Cmd.Name, err.Parameter, err.Cmd.Parameters)
}
// ParameterInvalidError is returned by command executors when a command
// parameter is invalid.
type ParameterInvalidError struct {
Parameter string
Cmd api.Command
Message string
}
func NewParameterInvalidError(parameter string, cmd api.Command, message string, fmtArgs ...interface{}) ParameterInvalidError {
if len(fmtArgs) > 0 {
message = fmt.Sprintf(message, fmtArgs...)
}
return ParameterInvalidError{
Parameter: parameter,
Cmd: cmd,
Message: message,
}
}
func (err ParameterInvalidError) Error() string {
return fmt.Sprintf("%s: parameter %q has invalid value %+v: %s",
err.Cmd.Name, err.Parameter, err.ParamValue(), err.Message)
}
// ParamValue returns the value of the invalid parameter.
func (err ParameterInvalidError) ParamValue() interface{} {
return err.Cmd.Parameters[err.Parameter]
}
// Ensure the structs above adhere to the error interface.
var _ error = ParameterMissingError{}
var _ error = ParameterInvalidError{}