From a9793067fa161c8e5185170a511978e61335911f Mon Sep 17 00:00:00 2001 From: Taizo Simpson Date: Mon, 22 Oct 2018 20:34:21 -0400 Subject: [PATCH 1/3] When selecting items to modify, use configured order Closes #3501 --- beets/ui/commands.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/beets/ui/commands.py b/beets/ui/commands.py index 6adc27786..ac81703b8 100755 --- a/beets/ui/commands.py +++ b/beets/ui/commands.py @@ -1376,10 +1376,10 @@ def modify_items(lib, mods, dels, query, write, move, album, confirm): # objects. print_(u'Modifying {0} {1}s.' .format(len(objs), u'album' if album else u'item')) - changed = set() + changed = [] for obj in objs: if print_and_modify(obj, mods, dels): - changed.add(obj) + changed.append(obj) # Still something to do? if not changed: From fd56b1d677600bd101b77875d057293fdf45fcf2 Mon Sep 17 00:00:00 2001 From: Taizo Simpson Date: Wed, 24 Oct 2018 14:07:27 -0400 Subject: [PATCH 2/3] Added changelog entry for issue 3051 --- docs/changelog.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/changelog.rst b/docs/changelog.rst index 9ff3a5008..fec36af67 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -98,6 +98,10 @@ Fixes: * Missing album art file during an update no longer causes a fatal exception (instead, an error is logged and the missing file path is removed from the library). :bug:`3030` +* Fixed the ordering of items when manually selecting changes while updating + tags + Thanks to :user:`TaizoSimpson`. + :bug:`3501` .. _python-itunes: https://github.com/ocelma/python-itunes From b901eb37237b087c810b17f2c8df988c69bc1d4a Mon Sep 17 00:00:00 2001 From: Taizo Simpson Date: Wed, 24 Oct 2018 14:12:32 -0400 Subject: [PATCH 3/3] Added check to remove duplicate changes --- beets/ui/commands.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beets/ui/commands.py b/beets/ui/commands.py index ac81703b8..1ed03bb9e 100755 --- a/beets/ui/commands.py +++ b/beets/ui/commands.py @@ -1378,7 +1378,7 @@ def modify_items(lib, mods, dels, query, write, move, album, confirm): .format(len(objs), u'album' if album else u'item')) changed = [] for obj in objs: - if print_and_modify(obj, mods, dels): + if print_and_modify(obj, mods, dels) and obj not in changed: changed.append(obj) # Still something to do?