curds: Move genre and tracktotal into the Track class

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2019-12-05 09:06:24 -05:00
parent 6db713a993
commit 71d9974608
5 changed files with 8 additions and 9 deletions

View File

@ -6,9 +6,7 @@ import hashlib
class Album:
def __init__(self, tag):
self.album = tag.album()
self.genre = tag.get("genre", "Unknown")
self.date = tag.get_int("date", 0)
self.tracktotal = tag.get_int("tracktotal", 0)
self.albumartist = tag.chain([ "albumartist", "album artist", "artist" ], "Unknown Artist")
def hash(self):

View File

@ -24,17 +24,13 @@ class TestAlbumTag(unittest.TestCase):
def test_album_init(self):
a = album.Album(tagfile.FakeFile(album_info))
self.assertEqual(a.album, "Test Album")
self.assertEqual(a.genre, "Test")
self.assertEqual(a.date, 2019)
self.assertEqual(a.tracktotal, 1)
self.assertEqual(a.albumartist, "Test Artist")
def test_album_init_empty(self):
a = album.Album(tagfile.FakeFile())
self.assertEqual(a.album, "Unknown Album")
self.assertEqual(a.genre, "Unknown")
self.assertEqual(a.date, 0)
self.assertEqual(a.tracktotal, 0)
self.assertEqual(a.albumartist, "Unknown Artist")
def test_album_init_artist(self):

View File

@ -34,12 +34,13 @@ class TestTrackTag(unittest.TestCase):
self.assertEqual(t.path, os.path.join(*p))
self.assertEqual(t.title, "Test Track")
self.assertEqual(t.artist, "Test Artist")
self.assertEqual(t.genre, "Test")
self.assertEqual(t.tracknumber, 1)
self.assertEqual(t.tracktotal, 12)
self.assertEqual(t.discnumber, 1)
self.assertEqual(t.length, 10)
self.assertEqual(t.album.album, "Test Album")
self.assertEqual(t.album.date, 2019)
self.assertEqual(t.album.genre, "Test")
self.assertEqual(t.album.albumartist, "Test Artist")
self.assertEqual(t.hash(), self.get_hash(t.album, "Test Track", "Test Artist", 1, 1))
@ -49,12 +50,13 @@ class TestTrackTag(unittest.TestCase):
self.assertEqual(t.path, os.path.join(*p))
self.assertEqual(t.title, "00 - Empty Track.ogg")
self.assertEqual(t.artist, "Unknown Artist")
self.assertEqual(t.genre, "Unknown")
self.assertEqual(t.tracknumber, 0)
self.assertEqual(t.tracktotal, 0)
self.assertEqual(t.length, 0)
self.assertEqual(t.discnumber, 1)
self.assertEqual(t.album.album, "Unknown Album")
self.assertEqual(t.album.date, 0)
self.assertEqual(t.album.genre, "Unknown")
self.assertEqual(t.album.albumartist, "Unknown Artist")
self.assertEqual(t.hash(), self.get_hash(t.album, "00 - Empty Track.ogg", "Unknown Artist", 0, 1))

View File

@ -12,9 +12,11 @@ class Track:
tag = tagfile.TagFile(path)
self.path = path
self.title = tag.get("title", os.path.basename(path))
self.artist = tag.get("artist", "Unknown Artist")
self.genre = tag.get("genre", "Unknown")
self.title = tag.get("title", os.path.basename(path))
self.tracknumber = tag.get_int("tracknumber", 0)
self.tracktotal = tag.get_int("tracktotal", 0)
self.discnumber = tag.discno()
self.length = tag.length()
self.album = album.lookup(tag)

View File

@ -26,6 +26,7 @@ generate_track(10, "Test Album/01 - Test Track.ogg", { "title" : "Test Track",
"genre" : "Test",
"date" : "2019",
"tracknumber" : "1",
"tracktotal" : "12",
"discnumber" : "1" })
generate_track(15, "Test Album/02 - Test {Disc 2}.ogg", { "Title" : "Test {Disc 2}",
"album" : "Test Album {Disc 2}" })