From 7c71bb87a2f549c063af979b50e2160cd32058ed Mon Sep 17 00:00:00 2001 From: soergeld Date: Fri, 8 May 2020 16:32:12 +0200 Subject: [PATCH] cleaning up, renaming dup_XXInfo() to copy() --- beets/autotag/hooks.py | 23 +++++-------- beetsplug/discogs.py | 19 ++++------ test/test_autotag.py | 78 +++++++++++++++--------------------------- test/test_ui.py | 5 +-- 4 files changed, 44 insertions(+), 81 deletions(-) diff --git a/beets/autotag/hooks.py b/beets/autotag/hooks.py index c2775bf32..6e0cada53 100644 --- a/beets/autotag/hooks.py +++ b/beets/autotag/hooks.py @@ -80,9 +80,9 @@ class AlbumInfo(AttrDict): ``mediums`` along with the fields up through ``tracks`` are required. The others are optional and may be None. """ - def __init__(self, album=None, album_id=None, artist=None, artist_id=None, - tracks=None, asin=None, albumtype=None, va=False, year=None, - month=None, day=None, label=None, mediums=None, + def __init__(self, tracks, album=None, album_id=None, artist=None, + artist_id=None, asin=None, albumtype=None, va=False, + year=None, month=None, day=None, label=None, mediums=None, artist_sort=None, releasegroup_id=None, catalognum=None, script=None, language=None, country=None, style=None, genre=None, albumstatus=None, media=None, albumdisambig=None, @@ -144,18 +144,13 @@ class AlbumInfo(AttrDict): if isinstance(value, bytes): setattr(self, fld, value.decode(codec, 'ignore')) - if 'tracks' in self: - for track in self.tracks: - track.decode(codec) + for track in self.tracks: + track.decode(codec) - def dup_albuminfo(self): - dupe = AlbumInfo() + def copy(self): + dupe = AlbumInfo([]) dupe.update(self) - if 'tracks' in self: - tracks = [] - for track in self.tracks: - tracks.append(track.dup_trackinfo()) - dupe.tracks = tracks + dupe.tracks = [track.copy() for track in self.tracks] return dupe @@ -219,7 +214,7 @@ class TrackInfo(AttrDict): if isinstance(value, bytes): setattr(self, fld, value.decode(codec, 'ignore')) - def dup_trackinfo(self): + def copy(self): dupe = TrackInfo() dupe.update(self) return dupe diff --git a/beetsplug/discogs.py b/beetsplug/discogs.py index a0a6ea654..038fa809a 100644 --- a/beetsplug/discogs.py +++ b/beetsplug/discogs.py @@ -357,17 +357,13 @@ class DiscogsPlugin(BeetsPlugin): original_year = self.get_master_year(master_id) if master_id else year return AlbumInfo(album=album, album_id=album_id, artist=artist, - artist_id=artist_id, tracks=tracks, asin=None, - albumtype=albumtype, va=va, year=year, month=None, - day=None, label=label, mediums=len(set(mediums)), - artist_sort=None, releasegroup_id=master_id, - catalognum=catalogno, script=None, language=None, + artist_id=artist_id, tracks=tracks, + albumtype=albumtype, va=va, year=year, + label=label, mediums=len(set(mediums)), + releasegroup_id=master_id, catalognum=catalogno, country=country, style=style, genre=genre, - albumstatus=None, media=media, - albumdisambig=None, artist_credit=None, - original_year=original_year, original_month=None, - original_day=None, data_source='Discogs', - data_url=data_url, + media=media, original_year=original_year, + data_source='Discogs', data_url=data_url, discogs_albumid=discogs_albumid, discogs_labelid=labelid, discogs_artistid=artist_id) @@ -570,8 +566,7 @@ class DiscogsPlugin(BeetsPlugin): length = self.get_track_length(track['duration']) return TrackInfo(title=title, track_id=track_id, artist=artist, artist_id=artist_id, length=length, index=index, - medium=medium, medium_index=medium_index, - artist_sort=None, disctitle=None, artist_credit=None) + medium=medium, medium_index=medium_index) def get_track_index(self, position): """Returns the medium, medium index and subtrack index for a discogs diff --git a/test/test_autotag.py b/test/test_autotag.py index cef6364d0..febd1641d 100644 --- a/test/test_autotag.py +++ b/test/test_autotag.py @@ -350,9 +350,7 @@ class AlbumDistanceTest(_common.TestCase): artist=u'some artist', album=u'some album', tracks=_make_trackinfo(), - va=False, - album_id=None, - artist_id=None, + va=False ) self.assertEqual(self._dist(items, info), 0) @@ -364,9 +362,7 @@ class AlbumDistanceTest(_common.TestCase): artist=u'some artist', album=u'some album', tracks=_make_trackinfo(), - va=False, - album_id=None, - artist_id=None, + va=False ) dist = self._dist(items, info) self.assertNotEqual(dist, 0) @@ -382,9 +378,7 @@ class AlbumDistanceTest(_common.TestCase): artist=u'someone else', album=u'some album', tracks=_make_trackinfo(), - va=False, - album_id=None, - artist_id=None, + va=False ) self.assertNotEqual(self._dist(items, info), 0) @@ -397,9 +391,7 @@ class AlbumDistanceTest(_common.TestCase): artist=u'should be ignored', album=u'some album', tracks=_make_trackinfo(), - va=True, - album_id=None, - artist_id=None, + va=True ) self.assertEqual(self._dist(items, info), 0) @@ -413,9 +405,7 @@ class AlbumDistanceTest(_common.TestCase): artist=u'should be ignored', album=u'some album', tracks=_make_trackinfo(), - va=True, - album_id=None, - artist_id=None, + va=True ) info.tracks[0].artist = None info.tracks[1].artist = None @@ -431,9 +421,7 @@ class AlbumDistanceTest(_common.TestCase): artist=u'some artist', album=u'some album', tracks=_make_trackinfo(), - va=True, - album_id=None, - artist_id=None, + va=True ) self.assertNotEqual(self._dist(items, info), 0) @@ -446,9 +434,7 @@ class AlbumDistanceTest(_common.TestCase): artist=u'some artist', album=u'some album', tracks=_make_trackinfo(), - va=False, - album_id=None, - artist_id=None, + va=False ) dist = self._dist(items, info) self.assertTrue(0 < dist < 0.2) @@ -462,9 +448,7 @@ class AlbumDistanceTest(_common.TestCase): artist=u'some artist', album=u'some album', tracks=_make_trackinfo(), - va=False, - album_id=None, - artist_id=None, + va=False ) info.tracks[0].medium_index = 1 info.tracks[1].medium_index = 2 @@ -481,9 +465,7 @@ class AlbumDistanceTest(_common.TestCase): artist=u'some artist', album=u'some album', tracks=_make_trackinfo(), - va=False, - album_id=None, - artist_id=None, + va=False ) info.tracks[0].medium_index = 1 info.tracks[1].medium_index = 2 @@ -505,9 +487,9 @@ class AssignmentTest(unittest.TestCase): items.append(self.item(u'three', 2)) items.append(self.item(u'two', 3)) trackinfo = [] - trackinfo.append(TrackInfo(title=u'one', track_id=None)) - trackinfo.append(TrackInfo(title=u'two', track_id=None)) - trackinfo.append(TrackInfo(title=u'three', track_id=None)) + trackinfo.append(TrackInfo(title=u'one')) + trackinfo.append(TrackInfo(title=u'two')) + trackinfo.append(TrackInfo(title=u'three')) mapping, extra_items, extra_tracks = \ match.assign_items(items, trackinfo) self.assertEqual(extra_items, []) @@ -524,9 +506,9 @@ class AssignmentTest(unittest.TestCase): items.append(self.item(u'three', 1)) items.append(self.item(u'two', 1)) trackinfo = [] - trackinfo.append(TrackInfo(title=u'one', track_id=None)) - trackinfo.append(TrackInfo(title=u'two', track_id=None)) - trackinfo.append(TrackInfo(title=u'three', track_id=None)) + trackinfo.append(TrackInfo(title=u'one')) + trackinfo.append(TrackInfo(title=u'two')) + trackinfo.append(TrackInfo(title=u'three')) mapping, extra_items, extra_tracks = \ match.assign_items(items, trackinfo) self.assertEqual(extra_items, []) @@ -542,9 +524,9 @@ class AssignmentTest(unittest.TestCase): items.append(self.item(u'one', 1)) items.append(self.item(u'three', 3)) trackinfo = [] - trackinfo.append(TrackInfo(title=u'one', track_id=None)) - trackinfo.append(TrackInfo(title=u'two', track_id=None)) - trackinfo.append(TrackInfo(title=u'three', track_id=None)) + trackinfo.append(TrackInfo(title=u'one')) + trackinfo.append(TrackInfo(title=u'two')) + trackinfo.append(TrackInfo(title=u'three')) mapping, extra_items, extra_tracks = \ match.assign_items(items, trackinfo) self.assertEqual(extra_items, []) @@ -560,8 +542,8 @@ class AssignmentTest(unittest.TestCase): items.append(self.item(u'two', 2)) items.append(self.item(u'three', 3)) trackinfo = [] - trackinfo.append(TrackInfo(title=u'one', track_id=None)) - trackinfo.append(TrackInfo(title=u'three', track_id=None)) + trackinfo.append(TrackInfo(title=u'one')) + trackinfo.append(TrackInfo(title=u'three')) mapping, extra_items, extra_tracks = \ match.assign_items(items, trackinfo) self.assertEqual(extra_items, [items[1]]) @@ -597,7 +579,7 @@ class AssignmentTest(unittest.TestCase): items.append(item(12, 186.45916150485752)) def info(index, title, length): - return TrackInfo(title=title, track_id=None, length=length, + return TrackInfo(title=title, length=length, index=index) trackinfo = [] trackinfo.append(info(1, u'Alone', 238.893)) @@ -752,15 +734,13 @@ class ApplyTest(_common.TestCase, ApplyTestUtil): self.assertEqual(self.items[1].albumtype, 'album') def test_album_artist_overrides_empty_track_artist(self): - # make a deepcopy of self.info - my_info = self.info.dup_albuminfo() + my_info = self.info.copy() self._apply(info=my_info) self.assertEqual(self.items[0].artist, 'artistNew') self.assertEqual(self.items[1].artist, 'artistNew') def test_album_artist_overridden_by_nonempty_track_artist(self): - # make a deepcopy of self.info - my_info = self.info.dup_albuminfo() + my_info = self.info.copy() my_info.tracks[0].artist = 'artist1!' my_info.tracks[1].artist = 'artist2!' self._apply(info=my_info) @@ -782,8 +762,7 @@ class ApplyTest(_common.TestCase, ApplyTestUtil): self.assertEqual(self.items[1].artist_sort, 'albumArtistSort') def test_full_date_applied(self): - # make a deepcopy of self.info - my_info = self.info.dup_albuminfo() + my_info = self.info.copy() my_info.year = 2013 my_info.month = 12 my_info.day = 18 @@ -798,8 +777,7 @@ class ApplyTest(_common.TestCase, ApplyTestUtil): self.items.append(Item(year=1, month=2, day=3)) self.items.append(Item(year=4, month=5, day=6)) - # make a deepcopy of self.info - my_info = self.info.dup_albuminfo() + my_info = self.info.copy() my_info.year = 2013 self._apply(info=my_info) @@ -819,8 +797,7 @@ class ApplyTest(_common.TestCase, ApplyTestUtil): self.assertEqual(self.items[0].day, 3) def test_data_source_applied(self): - # make a deepcopy of self.info - my_info = self.info.dup_albuminfo() + my_info = self.info.copy() my_info.data_source = 'MusicBrainz' self._apply(info=my_info) @@ -882,8 +859,7 @@ class ApplyCompilationTest(_common.TestCase, ApplyTestUtil): self.assertFalse(self.items[1].comp) def test_va_flag_sets_comp(self): - # make a deepcopy of self.info - va_info = self.info.dup_albuminfo() + va_info = self.info.copy() va_info.va = True self._apply(info=va_info) self.assertTrue(self.items[0].comp) diff --git a/test/test_ui.py b/test/test_ui.py index d0be10060..b1e7e8fad 100644 --- a/test/test_ui.py +++ b/test/test_ui.py @@ -1138,10 +1138,7 @@ class SummarizeItemsTest(_common.TestCase): self.assertEqual(summary, u"1 items, F, 4kbps, 10:54, 987.0 B") # make a copy of self.item - i2 = library.Item() - i2.bitrate = 4321 - i2.length = 10 * 60 + 54 - i2.format = "F" + i2 = self.item.copy() summary = commands.summarize_items([self.item, i2], False) self.assertEqual(summary, u"2 items, F, 4kbps, 21:48, 1.9 KiB")