From 98e6492424b06ff01d3a7728cd05d632eb193dbd Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Wed, 10 Oct 2018 19:52:06 -0400 Subject: [PATCH] Backport PR #12448: Don't error if some font directories are not readable. --- lib/matplotlib/font_manager.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/font_manager.py b/lib/matplotlib/font_manager.py index 37a0c7fc1e3d..a3bb71e06da8 100644 --- a/lib/matplotlib/font_manager.py +++ b/lib/matplotlib/font_manager.py @@ -152,9 +152,11 @@ def list_fonts(directory, extensions): recursively under the directory. """ extensions = ["." + ext for ext in extensions] - return [str(path) - for path in filter(Path.is_file, Path(directory).glob("**/*.*")) - if path.suffix.lower() in extensions] + return [os.path.join(dirpath, filename) + # os.walk ignores access errors, unlike Path.glob. + for dirpath, _, filenames in os.walk(directory) + for filename in filenames + if Path(filename).suffix.lower() in extensions] def win32FontDirectory():