Merge pull request #3209 from arcresu/prune_dirs-except

Catch OSError in prune_dirs helper
This commit is contained in:
Carl Suster 2019-04-08 09:47:38 +10:00 committed by GitHub
commit bb1613694b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 5 deletions

View file

@ -283,13 +283,13 @@ def prune_dirs(path, root=None, clutter=('.DS_Store', 'Thumbs.db')):
continue
clutter = [bytestring_path(c) for c in clutter]
match_paths = [bytestring_path(d) for d in os.listdir(directory)]
if fnmatch_all(match_paths, clutter):
# Directory contains only clutter (or nothing).
try:
try:
if fnmatch_all(match_paths, clutter):
# Directory contains only clutter (or nothing).
shutil.rmtree(directory)
except OSError:
else:
break
else:
except OSError:
break

View file

@ -195,6 +195,8 @@ Fixes:
is long.
Thanks to :user:`ray66`.
:bug:`3207` :bug:`2752`
* Fix an unhandled exception when pruning empty directories.
:bug:`1996` :bug:`3209`
.. _python-itunes: https://github.com/ocelma/python-itunes