X-Git-Url: http://git.kaliko.me/?a=blobdiff_plain;f=sima%2Flib%2Ftrack.py;h=4e367db82b1da7b96bb14d7d2c59f5b7eb308b88;hb=def9f580ccc5b208d157a1e6d6dbf317aa6826de;hp=5a01e17f5af69f0c8cd404a0839128672b27ca48;hpb=78a694ddcd2a6ecc8b2b1fd3c74ee2d938707305;p=mpd-sima.git diff --git a/sima/lib/track.py b/sima/lib/track.py index 5a01e17..4e367db 100644 --- a/sima/lib/track.py +++ b/sima/lib/track.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2009, 2010, 2011, 2013 Jack Kaliko +# Copyright (c) 2009, 2010, 2011, 2013, 2014 Jack Kaliko # Copyright (c) 2009 J. Alexander Treuman (Tag collapse method) # Copyright (c) 2008 Rick van Hattem # @@ -23,6 +23,7 @@ import time +from .meta import Artist class Track: """ @@ -32,6 +33,7 @@ class Track: def __init__(self, file=None, time=0, pos=-1, **kwargs): 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 @@ -40,7 +42,9 @@ class Track: self._time = time self.__dict__.update(**kwargs) self.tags_to_collapse = ['artist', 'album', 'title', 'date', - 'genre', 'albumartist'] + 'genre', 'albumartist', + 'musicbrainz_artistid', + 'musicbrainz_albumartistid'] # have tags been collapsed? self.collapse_tags_bool = False self.collapsed_tags = list() @@ -124,5 +128,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) + # VIM MODLINE # vim: ai ts=4 sw=4 sts=4 expandtab