]> kaliko git repositories - mpd-sima.git/blobdiff - sima/lib/track.py
Fixed false warning about wrong MBID format (Closes #6)
[mpd-sima.git] / sima / lib / track.py
index 6c2835146dc9c90021c20d67e249245dee07af93..4a2e72001b1d44f47d9794afc03f52dda7be884c 100644 (file)
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009, 2010, 2011, 2013, 2014 Jack Kaliko <kaliko@azylum.org>
+# Copyright (c) 2009, 2010, 2011, 2013, 2014, 2015 Jack Kaliko <kaliko@azylum.org>
 # Copyright (c) 2009 J. Alexander Treuman (Tag collapse method)
 # Copyright (c) 2008 Rick van Hattem
 #
@@ -23,7 +23,7 @@
 
 import time
 
-from .meta import Artist
+from .meta import Artist, SEPARATOR
 
 class Track:
     """
@@ -35,11 +35,11 @@ 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',
@@ -60,10 +60,10 @@ class Track:
                 continue
             if isinstance(value, list):
                 self.collapsed_tags.append(tag)
-                self.__dict__.update({tag: ', '.join(set(value))})
+                self.__dict__.update({tag: SEPARATOR.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,
@@ -126,16 +126,15 @@ class Track:
             fmt = '%M:%S'
         return time.strftime(fmt, temps)
 
-    def get_artist(self):
+    @property
+    def 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.split(', ')[0]
-        if (self.musicbrainz_albumartistid and
-            self.musicbrainz_albumartistid != '89ad4ac3-39f7-470e-963a-56509c546377'):
-            mbid = self.musicbrainz_albumartistid.split(', ')[0]
-        return Artist(name=name, mbid=mbid)
+        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