From f5696cb075907e22453af709103103b9ab166f44 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Tue, 26 May 2015 14:54:54 +0200 Subject: [PATCH] Allow masking directories by twiddling permissions. --- scanner/TreeWalker.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scanner/TreeWalker.py b/scanner/TreeWalker.py index f52873b..b4a4393 100644 --- a/scanner/TreeWalker.py +++ b/scanner/TreeWalker.py @@ -19,6 +19,10 @@ class TreeWalker: message("complete", "") def walk(self, path): next_level() + if not os.access(path, os.R_OK | os.X_OK): + message("access denied", os.path.basename(path)) + back_level() + return None message("walking", os.path.basename(path)) cache = os.path.join(self.cache_path, json_cache(path)) cached = False @@ -55,7 +59,9 @@ class TreeWalker: continue entry = os.path.join(path, entry) if os.path.isdir(entry): - album.add_album(self.walk(entry)) + next_walked_album = self.walk(entry) + if next_walked_album is not None: + album.add_album(next_walked_album) elif not cached and os.path.isfile(entry): next_level() cache_hit = False