Rename modes to more accurately capture what they do

This commit is contained in:
Pieter Noordhuis 2025-01-13 11:14:31 +01:00
parent 246e10c8c8
commit 70a0dd8743
No known key found for this signature in database
GPG Key ID: 12ACCCC104CF2930
4 changed files with 23 additions and 19 deletions

View File

@ -30,14 +30,18 @@ const (
// TranslateModeDirectory translates a path to a remote directory.
TranslateModeDirectory
// TranslateModeRetainLocalAbsoluteFilePath translates a path to the local absolute file path.
TranslateModeRetainLocalAbsoluteFilePath
// TranslateModeLocalAbsoluteFile translates a path to the local absolute file path.
// It returns an error if the path does not exist or is a directory.
TranslateModeLocalAbsoluteFile
// TranslateModeNoOp does not translate the path.
TranslateModeNoOp
// TranslateModeLocalRelative translates a path to be relative to the bundle sync root path.
// It does not check if the path exists, nor care if it is a file or directory.
TranslateModeLocalRelative
// TranslateModeNoOpWithPrefix does not translate the path, but adds a prefix to it.
TranslateModeNoOpWithPrefix
// TranslateModeLocalRelativeWithPrefix translates a path to be relative to the bundle sync root path.
// It a "./" prefix to the path if it does not already have one.
// This allows for disambiguating between paths and PyPI package names.
TranslateModeLocalRelativeWithPrefix
)
// translateOptions specifies how a path should be translated.
@ -146,12 +150,12 @@ func (t *translateContext) rewritePath(
interp, err = t.translateFilePath(ctx, input, localPath, localRelPath)
case TranslateModeDirectory:
interp, err = t.translateDirectoryPath(ctx, input, localPath, localRelPath)
case TranslateModeRetainLocalAbsoluteFilePath:
interp, err = t.retainLocalAbsoluteFilePath(ctx, input, localPath, localRelPath)
case TranslateModeNoOp:
interp, err = t.translateNoOp(ctx, input, localPath, localRelPath)
case TranslateModeNoOpWithPrefix:
interp, err = t.translateNoOpWithPrefix(ctx, input, localPath, localRelPath)
case TranslateModeLocalAbsoluteFile:
interp, err = t.translateLocalAbsoluteFilePath(ctx, input, localPath, localRelPath)
case TranslateModeLocalRelative:
interp, err = t.translateLocalRelativePath(ctx, input, localPath, localRelPath)
case TranslateModeLocalRelativeWithPrefix:
interp, err = t.translateLocalRelativeWithPrefixPath(ctx, input, localPath, localRelPath)
default:
return "", fmt.Errorf("unsupported translate mode: %d", opts.Mode)
}
@ -231,7 +235,7 @@ func (t *translateContext) translateDirectoryPath(ctx context.Context, literal,
return path.Join(t.remoteRoot, filepath.ToSlash(localRelPath)), nil
}
func (t *translateContext) retainLocalAbsoluteFilePath(ctx context.Context, literal, localFullPath, localRelPath string) (string, error) {
func (t *translateContext) translateLocalAbsoluteFilePath(ctx context.Context, literal, localFullPath, localRelPath string) (string, error) {
info, err := t.b.SyncRoot.Stat(filepath.ToSlash(localRelPath))
if errors.Is(err, fs.ErrNotExist) {
return "", fmt.Errorf("file %s not found", literal)
@ -245,11 +249,11 @@ func (t *translateContext) retainLocalAbsoluteFilePath(ctx context.Context, lite
return localFullPath, nil
}
func (t *translateContext) translateNoOp(ctx context.Context, literal, localFullPath, localRelPath string) (string, error) {
func (t *translateContext) translateLocalRelativePath(ctx context.Context, literal, localFullPath, localRelPath string) (string, error) {
return localRelPath, nil
}
func (t *translateContext) translateNoOpWithPrefix(ctx context.Context, literal, localFullPath, localRelPath string) (string, error) {
func (t *translateContext) translateLocalRelativeWithPrefixPath(ctx context.Context, literal, localFullPath, localRelPath string) (string, error) {
if !strings.HasPrefix(localRelPath, ".") {
localRelPath = "." + string(filepath.Separator) + localRelPath
}

View File

@ -23,7 +23,7 @@ func (t *translateContext) artifactRewritePatterns() []artifactRewritePattern {
return []artifactRewritePattern{
{
base.Append(dyn.Key("path")),
translateOptions{Mode: TranslateModeNoOp},
translateOptions{Mode: TranslateModeLocalRelative},
},
}
}

View File

@ -18,7 +18,7 @@ func (t *translateContext) applyDashboardTranslations(ctx context.Context, v dyn
)
opts := translateOptions{
Mode: TranslateModeRetainLocalAbsoluteFilePath,
Mode: TranslateModeLocalAbsoluteFile,
}
return dyn.MapByPattern(v, pattern, func(p dyn.Path, v dyn.Value) (dyn.Value, error) {

View File

@ -71,7 +71,7 @@ func (t *translateContext) applyJobTranslations(ctx context.Context, v dyn.Value
func getJobTranslateMode(kind paths.PathKind) (TranslateMode, error) {
switch kind {
case paths.PathKindLibrary:
return TranslateModeNoOp, nil
return TranslateModeLocalRelative, nil
case paths.PathKindNotebook:
return TranslateModeNotebook, nil
case paths.PathKindWorkspaceFile:
@ -79,7 +79,7 @@ func getJobTranslateMode(kind paths.PathKind) (TranslateMode, error) {
case paths.PathKindDirectory:
return TranslateModeDirectory, nil
case paths.PathKindWithPrefix:
return TranslateModeNoOpWithPrefix, nil
return TranslateModeLocalRelativeWithPrefix, nil
}
return TranslateMode(0), fmt.Errorf("unsupported path kind: %d", kind)