From 716708e207c083a895e388e298929c6a613eef1d Mon Sep 17 00:00:00 2001 From: Min RK Date: Wed, 27 Jan 2016 15:31:19 +0100 Subject: [PATCH] use stat on Windows access seems to always return True there --- notebook/utils.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/notebook/utils.py b/notebook/utils.py index 44ea1f052..d32ec1cb9 100644 --- a/notebook/utils.py +++ b/notebook/utils.py @@ -103,13 +103,17 @@ def is_hidden(abs_path, abs_root=''): # check that dirs can be listed if os.path.isdir(abs_path): - # use x-access, not actual listing, in case of slow/large listings - try: + if sys.platform == 'win32': + # can't trust os.access on Windows because it seems to always return True + try: + os.stat(abs_path) + except OSError: + # stat may fail on Windows junctions or non-user-readable dirs + return True + else: + # use x-access, not actual listing, in case of slow/large listings if not os.access(abs_path, os.X_OK): return True - except OSError: - # may fail on Windows junctions or non-user-readable dirs - return True # check UF_HIDDEN on any location up to root path = abs_path