From 13b4a1413d1c69e79dcb497fb32675c7d96fb302 Mon Sep 17 00:00:00 2001 From: MrNuggelz Date: Sun, 3 May 2020 14:58:34 +0200 Subject: [PATCH] update all songs in one transaction --- beetsplug/subsonicplaylist.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/beetsplug/subsonicplaylist.py b/beetsplug/subsonicplaylist.py index 561b6032d..9c9c74974 100644 --- a/beetsplug/subsonicplaylist.py +++ b/beetsplug/subsonicplaylist.py @@ -51,18 +51,18 @@ class SubsonicPlaylistPlugin(BeetsPlugin): self.config['password'].redact = True def update_tags(self, playlist_dict, lib): - for query, playlist_tag in playlist_dict.items(): - query = AndQuery([SubstringQuery("artist", query[0]), - SubstringQuery("album", query[1]), - SubstringQuery("title", query[2])]) - items = lib.items(query) - if not items: - self._log.warn(u"{} | track not found ({})", playlist_tag, - query) - continue - for item in items: - item.subsonic_playlist = playlist_tag - with lib.transaction(): + with lib.transaction(): + for query, playlist_tag in playlist_dict.items(): + query = AndQuery([SubstringQuery("artist", query[0]), + SubstringQuery("album", query[1]), + SubstringQuery("title", query[2])]) + items = lib.items(query) + if not items: + self._log.warn(u"{} | track not found ({})", playlist_tag, + query) + continue + for item in items: + item.subsonic_playlist = playlist_tag item.try_sync(write=True, move=False) def get_playlist(self, playlist_id):