Merge branch 'master' into master

This commit is contained in:
milesial 2018-10-25 14:39:48 +02:00 committed by GitHub
commit af3e1dbbfa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 17 additions and 12 deletions

View file

@ -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)
if print_and_modify(obj, mods, dels) and obj not in changed:
changed.append(obj)
# Still something to do?
if not changed:

View file

@ -98,9 +98,14 @@ 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`
* Confusing typo when the convert plugin copies the art covers.
.. _python-itunes: https://github.com/ocelma/python-itunes

View file

@ -137,7 +137,7 @@ class FileFilterPluginTest(unittest.TestCase, ImportHelper):
# Global options
def test_import_global(self):
config['filefilter']['path'] = '.*track_1.*\.mp3'
config['filefilter']['path'] = '.*track_1.*\\.mp3'
self.__run([
'Album: %s' % displayable_path(self.artist_path),
' %s' % displayable_path(self.artist_paths[0]),
@ -151,7 +151,7 @@ class FileFilterPluginTest(unittest.TestCase, ImportHelper):
# Album options
def test_import_album(self):
config['filefilter']['album_path'] = '.*track_1.*\.mp3'
config['filefilter']['album_path'] = '.*track_1.*\\.mp3'
self.__run([
'Album: %s' % displayable_path(self.artist_path),
' %s' % displayable_path(self.artist_paths[0]),
@ -169,7 +169,7 @@ class FileFilterPluginTest(unittest.TestCase, ImportHelper):
# Singleton options
def test_import_singleton(self):
config['filefilter']['singleton_path'] = '.*track_1.*\.mp3'
config['filefilter']['singleton_path'] = '.*track_1.*\\.mp3'
self.__run([
'Singleton: %s' % displayable_path(self.artist_paths[0]),
'Singleton: %s' % displayable_path(self.misc_paths[0])
@ -188,8 +188,8 @@ class FileFilterPluginTest(unittest.TestCase, ImportHelper):
# Album and singleton options
def test_import_both(self):
config['filefilter']['album_path'] = '.*track_1.*\.mp3'
config['filefilter']['singleton_path'] = '.*track_2.*\.mp3'
config['filefilter']['album_path'] = '.*track_1.*\\.mp3'
config['filefilter']['singleton_path'] = '.*track_2.*\\.mp3'
self.__run([
'Album: %s' % displayable_path(self.artist_path),
' %s' % displayable_path(self.artist_paths[0]),

View file

@ -165,7 +165,7 @@ class LyricsPluginTest(unittest.TestCase):
 one
<br class='myclass'>
two !
<br><br \>
<br><br \\>
<blink>four</blink>"""
self.assertEqual(lyrics._scrape_strip_cruft(text, True),
"one\ntwo !\n\nfour")

View file

@ -60,7 +60,7 @@ class CommandParseTest(unittest.TestCase):
def test_backslash_in_arg(self):
s = r'command "hello \\ there"'
c = bpd.Command(s)
self.assertEqual(c.args, [u'hello \ there'])
self.assertEqual(c.args, [u'hello \\ there'])
def suite():

View file

@ -50,7 +50,7 @@ class ThePluginTest(_common.TestCase):
self.assertEqual(ThePlugin().the_template_func(u'An A'), u'A, An')
def test_custom_pattern(self):
config['the']['patterns'] = [u'^test\s']
config['the']['patterns'] = [u'^test\\s']
config['the']['format'] = FORMAT
self.assertEqual(ThePlugin().the_template_func(u'test passed'),
u'passed, test')