From 3a73d596c2e05d315ebc720d8351674ba0d158c0 Mon Sep 17 00:00:00 2001 From: SandiyosDev Date: Tue, 24 Mar 2026 19:29:46 +0000 Subject: [PATCH] clean empty dirs --- internal/manager/task/clean_generated.go | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/internal/manager/task/clean_generated.go b/internal/manager/task/clean_generated.go index a59bda6d1..bd67a673a 100644 --- a/internal/manager/task/clean_generated.go +++ b/internal/manager/task/clean_generated.go @@ -313,9 +313,36 @@ func (j *CleanGeneratedJob) cleanBlobFiles(ctx context.Context, progress *job.Pr return err } + // remove empty hash prefix subdirectories + j.removeEmptyDirs(j.Paths.Blobs) + return nil } +func (j *CleanGeneratedJob) removeEmptyDirs(root string) { + entries, err := os.ReadDir(root) + if err != nil { + return + } + + for _, entry := range entries { + if !entry.IsDir() { + continue + } + + dirPath := filepath.Join(root, entry.Name()) + subEntries, err := os.ReadDir(dirPath) + if err != nil { + continue + } + + if len(subEntries) == 0 { + j.logDelete("removing empty directory: %s", entry.Name()) + j.deleteDir(dirPath) + } + } +} + func (j *CleanGeneratedJob) getScenesWithHash(ctx context.Context, hash string) ([]*models.Scene, error) { fp := models.Fingerprint{ Fingerprint: hash,