class Disc: """ Represent an album disc """ def __init__(self, album, disc_number): self.db = Lp().albums self.album = album self.number = disc_number self._track_ids = [] @property def track_ids(self): """ Get all tracks ids of the disc @return list of int """ if not self._track_ids: self._track_ids = self.db.get_disc_tracks(self.album.id, self.album.genre_ids, self.album.artist_ids, self.number) return self._track_ids @property def tracks(self): """ Get all tracks of the disc @return list of Track """ return [Track(id) for id in self.track_ids]
class Disc: """ Represent an album disc """ def __init__(self, album, disc_number): self.db = Lp().albums self.album = album self.number = disc_number @property def tracks_ids(self): """ Get all tracks ids of the disc @return list of int """ return self.db.get_disc_tracks(self.album.id, self.album.genre_ids, self.number) @property def tracks(self): """ Get all tracks of the disc @return list of Track """ return [Track(id) for id in self.tracks_ids]
class Disc: """ Represent an album disc """ def __init__(self, album, disc_number): self.db = Lp().albums self.album = album self.number = disc_number self._track_ids = [] @property def name(self): """ Disc name @return disc name as str """ @property def track_ids(self): """ Get all tracks ids of the disc @return list of int """ if not self._track_ids: self._track_ids = self.db.get_disc_tracks(self.album.id, self.album.genre_ids, self.album.artist_ids, self.number) # If user tagged track with an artist not present in album if not self._track_ids: print("%s missing an album artist in artists" % self.album.name) self._track_ids = self.db.get_disc_tracks(self.album.id, self.album.genre_ids, [], self.number) return self._track_ids @property def tracks(self): """ Get all tracks of the disc @return list of Track """ return [Track(id) for id in self.track_ids]