1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
package remove
import (
"os"
"github.com/dundee/gdu/v5/pkg/analyze"
"github.com/dundee/gdu/v5/pkg/fs"
)
// ItemFromDir removes item from dir
func ItemFromDir(dir, item fs.Item) error {
err := os.RemoveAll(item.GetPath())
if err != nil {
return err
}
dir.RemoveFile(item)
return nil
}
// EmptyFileFromDir empties file from dir (truncates to 0 bytes)
func EmptyFileFromDir(dir, file fs.Item) error {
err := os.Truncate(file.GetPath(), 0)
if err != nil {
return err
}
// Remove old file and add zero-sized one
dir.RemoveFile(file)
newFile := &analyze.File{
Name: file.GetName(),
Flag: file.GetFlag(),
Size: 0,
Usage: 0,
Parent: dir,
}
dir.AddFile(newFile)
return nil
}
|