X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Flib%2Ftrack.py;h=2874a192ad59497161b7698db3cbabd5d088aab2;hb=fadd1129df18b9140f08b99682409eba7d912553;hp=4e367db82b1da7b96bb14d7d2c59f5b7eb308b88;hpb=def9f580ccc5b208d157a1e6d6dbf317aa6826de;p=mpd-sima.git diff --git a/sima/lib/track.py b/sima/lib/track.py index 4e367db..2874a19 100644 --- a/sima/lib/track.py +++ b/sima/lib/track.py @@ -35,18 +35,17 @@ class Track: self.title = self.artist = self.album = self.albumartist = '' self.musicbrainz_artistid = self.musicbrainz_albumartistid = None self.pos = int(pos) - self._empty = False self._file = file + self._empty = False + self._time = time if not kwargs: self._empty = True - self._time = time self.__dict__.update(**kwargs) self.tags_to_collapse = ['artist', 'album', 'title', 'date', 'genre', 'albumartist', 'musicbrainz_artistid', 'musicbrainz_albumartistid'] # have tags been collapsed? - self.collapse_tags_bool = False self.collapsed_tags = list() # Needed for multiple tags which returns a list instead of a string self.collapse_tags() @@ -60,12 +59,11 @@ class Track: if tag not in self.tags_to_collapse: continue if isinstance(value, list): - self.collapse_tags_bool = True self.collapsed_tags.append(tag) self.__dict__.update({tag: ', '.join(set(value))}) def __repr__(self): - return '%s(artist="%s", album="%s", title="%s", filename="%s")' % ( + return '%s(artist="%s", album="%s", title="%s", file="%s")' % ( self.__class__.__name__, self.artist, self.album, @@ -128,15 +126,15 @@ class Track: fmt = '%M:%S' return time.strftime(fmt, temps) - def get_artist(self): - """Get artist object from track""" - name = self.artist - mbid = self.musicbrainz_artistid - if self.albumartist != 'Various Artists': - name = self.albumartist - if self.musicbrainz_albumartistid != '89ad4ac3-39f7-470e-963a-56509c546377': - mbid = self.musicbrainz_albumartistid - return Artist(name=name, mbid=mbid) + @property + def Artist(self): + """Get artist object from track""" + if not self.artist: + if not self.musicbrainz_artistid: + return Artist(name='[unknown]', + mbid='125ec42a-7229-4250-afc5-e057484327fe') + return Artist(name='[unknown]', **self.__dict__) + return Artist(**self.__dict__) # VIM MODLINE # vim: ai ts=4 sw=4 sts=4 expandtab