mirror of
https://github.com/fergalmoran/picard.git
synced 2026-02-24 00:26:08 +00:00
Remove .DS_Store, desktop.ini, and Thumbs.db from otherwise empty directories (PICARD-75)
This commit is contained in:
3
NEWS.txt
3
NEWS.txt
@@ -14,10 +14,11 @@ Version 1.0 - 2012-06-XX
|
||||
* Lookup in Browser will now not use MBIDs to lookup unmatched files/clusters
|
||||
* Add Date/Country to CD Lookup results dialog (PICARD-198)
|
||||
* Fix/reset album folksonomy tag counts while refreshing releases (PICARD-4)
|
||||
* Plugins actions can how create sub-menus using the MENU class attribute
|
||||
* Plugins actions can now create sub-menus using the MENU class attribute
|
||||
* New plugin hook register_clusterlist_action
|
||||
* Display the port Picard is listening on at bottom right status bar (PICARD-191)
|
||||
* Make album drops from right hand pane to left default to "unmatched files" again (PICARD-33)
|
||||
* Remove .DS_Store, desktop.ini, and Thumbs.db from otherwise empty directories (PICARD-75)
|
||||
|
||||
Version 0.16 - 2011-10-23
|
||||
* Added AcoustID support.
|
||||
|
||||
@@ -171,12 +171,21 @@ class File(LockableObject, Item):
|
||||
new_filename = self._rename(old_filename, metadata, settings)
|
||||
# Move extra files (images, playlists, etc.)
|
||||
if settings["move_files"] and settings["move_additional_files"]:
|
||||
self._move_additional_files(old_filename, new_filename,
|
||||
settings)
|
||||
self._move_additional_files(old_filename, new_filename, settings)
|
||||
# Delete empty directories
|
||||
if settings["delete_empty_dirs"]:
|
||||
dirname = encode_filename(os.path.dirname(old_filename))
|
||||
try:
|
||||
os.removedirs(encode_filename(os.path.dirname(old_filename)))
|
||||
self._rmdir(dirname)
|
||||
head, tail = os.path.split(dirname)
|
||||
if not tail:
|
||||
head, tail = os.path.split(head)
|
||||
while head and tail:
|
||||
try:
|
||||
self._rmdir(head)
|
||||
except:
|
||||
break
|
||||
head, tail = os.path.split(head)
|
||||
except EnvironmentError:
|
||||
pass
|
||||
# Save cover art images
|
||||
@@ -184,6 +193,14 @@ class File(LockableObject, Item):
|
||||
self._save_images(new_filename, metadata, settings)
|
||||
return new_filename
|
||||
|
||||
@staticmethod
|
||||
def _rmdir(dir):
|
||||
junk_files = (".DS_Store", "desktop.ini", "Desktop.ini", "Thumbs.db")
|
||||
if not set(os.listdir(dir)) - set(junk_files):
|
||||
shutil.rmtree(dir, False)
|
||||
else:
|
||||
raise OSError
|
||||
|
||||
@call_next
|
||||
def _saving_finished(self, next, result=None, error=None):
|
||||
old_filename = new_filename = self.filename
|
||||
|
||||
Reference in New Issue
Block a user