From: Ned Deily Date: Thu, 6 Oct 2011 21:17:47 +0000 (-0700) Subject: Issue #7367: Fix pkgutil.walk_paths to skip directories whose X-Git-Tag: v2.7.3rc1~418 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=777f2e04ea89262060a4955721394147388882a1;p=thirdparty%2FPython%2Fcpython.git Issue #7367: Fix pkgutil.walk_paths to skip directories whose contents cannot be read. --- diff --git a/Lib/pkgutil.py b/Lib/pkgutil.py index 322bbdf5cb6d..ce072ec9ef75 100644 --- a/Lib/pkgutil.py +++ b/Lib/pkgutil.py @@ -194,8 +194,11 @@ class ImpImporter: yielded = {} import inspect - - filenames = os.listdir(self.path) + try: + filenames = os.listdir(self.path) + except OSError: + # ignore unreadable directories like import does + filenames = [] filenames.sort() # handle packages before same-named modules for fn in filenames: @@ -208,7 +211,12 @@ class ImpImporter: if not modname and os.path.isdir(path) and '.' not in fn: modname = fn - for fn in os.listdir(path): + try: + dircontents = os.listdir(path) + except OSError: + # ignore unreadable directories like import does + dircontents = [] + for fn in dircontents: subname = inspect.getmodulename(fn) if subname=='__init__': ispkg = True