From 705fa2b52cf43eb9a65fc3203934d295a2e6a291 Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Mon, 5 Aug 2019 18:12:38 +0200 Subject: [PATCH] PICARD-1559: Create directories when moving files Use the renaming script for the directory part if only moving files without renaming file is set. Keep the filename in this case. --- picard/file.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/picard/file.py b/picard/file.py index 0b5033dbc..fb7669919 100644 --- a/picard/file.py +++ b/picard/file.py @@ -375,6 +375,7 @@ class File(QtCore.QObject, Item): def _format_filename(self, new_dirname, new_filename, metadata, settings): # TODO: tests !! + old_filename = new_filename new_filename, ext = self._fixed_splitext(new_filename) ext = ext.lower() new_filename = new_filename + ext @@ -385,6 +386,8 @@ class File(QtCore.QObject, Item): new_filename = self._script_to_filename(naming_format, metadata, settings) # NOTE: the _script_to_filename strips the extension away new_filename = new_filename + ext + if not settings['rename_files']: + new_filename = os.path.join(os.path.dirname(new_filename), old_filename) if not settings['move_files']: new_filename = os.path.basename(new_filename) win_compat = IS_WIN or settings['windows_compatibility'] @@ -416,7 +419,7 @@ class File(QtCore.QObject, Item): new_dirname = os.path.dirname(filename) new_filename = os.path.basename(filename) - if settings["rename_files"]: + if settings["rename_files"] or settings["move_files"]: new_filename = self._format_filename(new_dirname, new_filename, metadata, settings) new_path = os.path.join(new_dirname, new_filename)