]> kaliko git repositories - mpd-sima.git/blobdiff - sima/lib/track.py
Fixed Tracks get_artist method
[mpd-sima.git] / sima / lib / track.py
index 5a01e17f5af69f0c8cd404a0839128672b27ca48..3926c4d97c628541128aa7470054edcc9c9c1926 100644 (file)
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009, 2010, 2011, 2013 Jack Kaliko <kaliko@azylum.org>
+# Copyright (c) 2009, 2010, 2011, 2013, 2014 Jack Kaliko <kaliko@azylum.org>
 # 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,16 @@ 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 and self.albumartist != 'Various Artists':
+            name = self.albumartist
+        if (self.musicbrainz_albumartistid and
+            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