diff --git a/docs/changes.rst b/docs/changes.rst index 5e412754..51ae094d 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -81,6 +81,10 @@ Current limitations: - Add :attr:`mopidy.models.Album.images` field for including album art URIs. (Partly fixes :issue:`263`) +- Add :attr:`mopidy.models.Track.disc_no` field. (Partly fixes: :issue:`286`) + +- Add :attr:`mopidy.models.Album.num_discs` field. (Partly fixes: :issue:`286`) + v0.11.1 (2012-12-24) ==================== diff --git a/mopidy/models.py b/mopidy/models.py index d6290f9a..e14fd8b4 100644 --- a/mopidy/models.py +++ b/mopidy/models.py @@ -170,6 +170,8 @@ class Album(ImmutableObject): :type artists: list of :class:`Artist` :param num_tracks: number of tracks in album :type num_tracks: integer + :param num_discs: number of discs in album + :type num_discs: integer or :class:`None` if unknown :param date: album release date (YYYY or YYYY-MM-DD) :type date: string :param musicbrainz_id: MusicBrainz ID @@ -190,6 +192,9 @@ class Album(ImmutableObject): #: The number of tracks in the album. Read-only. num_tracks = 0 + #: The number of discs in the album. Read-only. + num_discs = None + #: The album release date. Read-only. date = None @@ -219,6 +224,8 @@ class Track(ImmutableObject): :type album: :class:`Album` :param track_no: track number in album :type track_no: integer + :param disc_no: disc number in album + :type disc_no: integer or :class:`None` if unknown :param date: track release date (YYYY or YYYY-MM-DD) :type date: string :param length: track length in milliseconds @@ -241,9 +248,12 @@ class Track(ImmutableObject): #: The track :class:`Album`. Read-only. album = None - #: The track number in album. Read-only. + #: The track number in the album. Read-only. track_no = 0 + #: The disc number in the album. Read-only. + disc_no = None + #: The track release date. Read-only. date = None diff --git a/tests/models_test.py b/tests/models_test.py index c624addd..c2d65ec6 100644 --- a/tests/models_test.py +++ b/tests/models_test.py @@ -199,10 +199,16 @@ class AlbumTest(unittest.TestCase): def test_num_tracks(self): num_tracks = 11 - album = Album(num_tracks=11) + album = Album(num_tracks=num_tracks) self.assertEqual(album.num_tracks, num_tracks) self.assertRaises(AttributeError, setattr, album, 'num_tracks', None) + def test_num_discs(self): + num_discs = 2 + album = Album(num_discs=num_discs) + self.assertEqual(album.num_discs, num_discs) + self.assertRaises(AttributeError, setattr, album, 'num_discs', None) + def test_date(self): date = '1977-01-01' album = Album(date=date) @@ -403,6 +409,12 @@ class TrackTest(unittest.TestCase): self.assertEqual(track.track_no, track_no) self.assertRaises(AttributeError, setattr, track, 'track_no', None) + def test_disc_no(self): + disc_no = 2 + track = Track(disc_no=disc_no) + self.assertEqual(track.disc_no, disc_no) + self.assertRaises(AttributeError, setattr, track, 'disc_no', None) + def test_date(self): date = '1977-01-01' track = Track(date=date)