Merge pull request #315 from jodal/feature/num-discs-and-disc-no

Add Album.num_discs and Track.disc_no
This commit is contained in:
Thomas Adamcik 2013-01-07 11:24:54 -08:00
commit 30412e93b6
3 changed files with 28 additions and 2 deletions

View File

@ -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)
====================

View File

@ -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

View File

@ -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)