Skip to content

Commit

Permalink
fix(gallery): do not attempt to delete duplicate files (#3031)
Browse files Browse the repository at this point in the history
Signed-off-by: Ettore Di Giacinto <[email protected]>
  • Loading branch information
mudler authored Jul 28, 2024
1 parent 610e1c0 commit 2a839e1
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 15 deletions.
29 changes: 14 additions & 15 deletions core/gallery/gallery.go
Original file line number Diff line number Diff line change
Expand Up @@ -204,34 +204,33 @@ func DeleteModelFromSystem(basePath string, name string, additionalFiles []strin
log.Error().Err(err).Msgf("failed to read gallery file %s", configFile)
}

var filesToRemove []string

// Remove additional files
if galleryconfig != nil {
for _, f := range galleryconfig.Files {
fullPath := filepath.Join(basePath, f.Filename)
log.Debug().Msgf("Removing file %s", fullPath)
if e := os.Remove(fullPath); e != nil {
err = errors.Join(err, fmt.Errorf("failed to remove file %s: %w", f.Filename, e))
}
filesToRemove = append(filesToRemove, fullPath)
}
}

for _, f := range additionalFiles {
fullPath := filepath.Join(filepath.Join(basePath, f))
log.Debug().Msgf("Removing additional file %s", fullPath)
if e := os.Remove(fullPath); e != nil {
err = errors.Join(err, fmt.Errorf("failed to remove file %s: %w", f, e))
}
filesToRemove = append(filesToRemove, fullPath)
}

log.Debug().Msgf("Removing model config file %s", configFile)
filesToRemove = append(filesToRemove, configFile)
filesToRemove = append(filesToRemove, galleryFile)

// Delete the model config file
if e := os.Remove(configFile); e != nil {
err = errors.Join(err, fmt.Errorf("failed to remove file %s: %w", configFile, e))
}
// skip duplicates
filesToRemove = utils.Unique(filesToRemove)

// Delete gallery config file
os.Remove(galleryFile)
// Removing files
for _, f := range filesToRemove {
if e := os.Remove(f); e != nil {
err = errors.Join(err, fmt.Errorf("failed to remove file %s: %w", f, e))
}
}

return err
}
Expand Down
12 changes: 12 additions & 0 deletions pkg/utils/strings.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,15 @@ func RandString(n int) string {
}
return string(b)
}

func Unique(arr []string) []string {
unique := make(map[string]bool)
var result []string
for _, item := range arr {
if _, ok := unique[item]; !ok {
unique[item] = true
result = append(result, item)
}
}
return result
}

0 comments on commit 2a839e1

Please sign in to comment.