From e579db6f0adb24d2b16494d32e05b87610bc0e9e Mon Sep 17 00:00:00 2001 From: Thomas Scholtes Date: Tue, 16 Sep 2014 12:52:15 +0200 Subject: [PATCH] Hide task specific code from importer stage --- beets/importer.py | 7 ++----- test/test_importer.py | 16 ++++++++-------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/beets/importer.py b/beets/importer.py index 75931758f..e75ef8f88 100644 --- a/beets/importer.py +++ b/beets/importer.py @@ -543,7 +543,7 @@ class ImportTask(object): duplicates.append(album) return duplicates - def infer_album_fields(self): + def align_album_level_fields(self): """Make the some album fields equal across `self.items` """ changes = {} @@ -618,6 +618,7 @@ class ImportTask(object): def add(self, lib): """Add the items as an album to the library and remove replaced items. """ + self.align_album_level_fields() with lib.transaction(): self.remove_replaced(lib) self.album = lib.add_album(self.imported_items()) @@ -1162,10 +1163,6 @@ def apply_choices(session, task): task.apply_metadata() plugins.send('import_task_apply', session=session, task=task) - # Infer album-level fields. - if task.is_album: - task.infer_album_fields() - task.add(session.lib) diff --git a/test/test_importer.py b/test/test_importer.py index cc447b18c..5998f1a9c 100644 --- a/test/test_importer.py +++ b/test/test_importer.py @@ -879,7 +879,7 @@ class InferAlbumDataTest(_common.TestCase): def test_asis_homogenous_single_artist(self): self.task.set_choice(importer.action.ASIS) - self.task.infer_album_fields() + self.task.align_album_level_fields() self.assertFalse(self.items[0].comp) self.assertEqual(self.items[0].albumartist, self.items[2].artist) @@ -888,7 +888,7 @@ class InferAlbumDataTest(_common.TestCase): self.items[1].artist = 'some other artist' self.task.set_choice(importer.action.ASIS) - self.task.infer_album_fields() + self.task.align_album_level_fields() self.assertTrue(self.items[0].comp) self.assertEqual(self.items[0].albumartist, 'Various Artists') @@ -898,7 +898,7 @@ class InferAlbumDataTest(_common.TestCase): self.items[1].artist = 'some other artist' self.task.set_choice(importer.action.ASIS) - self.task.infer_album_fields() + self.task.align_album_level_fields() for item in self.items: self.assertTrue(item.comp) @@ -908,7 +908,7 @@ class InferAlbumDataTest(_common.TestCase): self.items[0].artist = 'another artist' self.task.set_choice(importer.action.ASIS) - self.task.infer_album_fields() + self.task.align_album_level_fields() self.assertFalse(self.items[0].comp) self.assertEqual(self.items[0].albumartist, self.items[2].artist) @@ -921,7 +921,7 @@ class InferAlbumDataTest(_common.TestCase): item.mb_albumartistid = 'some album artist id' self.task.set_choice(importer.action.ASIS) - self.task.infer_album_fields() + self.task.align_album_level_fields() self.assertEqual(self.items[0].albumartist, 'some album artist') @@ -931,7 +931,7 @@ class InferAlbumDataTest(_common.TestCase): def test_apply_gets_artist_and_id(self): self.task.set_choice(AlbumMatch(0, None, {}, set(), set())) # APPLY - self.task.infer_album_fields() + self.task.align_album_level_fields() self.assertEqual(self.items[0].albumartist, self.items[0].artist) self.assertEqual(self.items[0].mb_albumartistid, @@ -943,7 +943,7 @@ class InferAlbumDataTest(_common.TestCase): item.mb_albumartistid = 'some album artist id' self.task.set_choice(AlbumMatch(0, None, {}, set(), set())) # APPLY - self.task.infer_album_fields() + self.task.align_album_level_fields() self.assertEqual(self.items[0].albumartist, 'some album artist') @@ -954,7 +954,7 @@ class InferAlbumDataTest(_common.TestCase): self.items = [self.items[0]] self.task.items = self.items self.task.set_choice(importer.action.ASIS) - self.task.infer_album_fields() + self.task.align_album_level_fields() self.assertFalse(self.items[0].comp)