mirror of
https://github.com/beetbox/beets.git
synced 2025-12-15 04:55:10 +01:00
Merge branch 'master' into master
This commit is contained in:
commit
af3e1dbbfa
6 changed files with 17 additions and 12 deletions
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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]),
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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():
|
||||
|
|
|
|||
|
|
@ -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')
|
||||
|
|
|
|||
Loading…
Reference in a new issue