]> kaliko git repositories - mpd-sima.git/commitdiff
Fixed type issue with depth/recursion
authorkaliko <kaliko@azylum.org>
Wed, 11 Jun 2014 13:45:33 +0000 (15:45 +0200)
committerkaliko <kaliko@azylum.org>
Wed, 11 Jun 2014 13:45:33 +0000 (15:45 +0200)
sima/lib/meta.py
sima/lib/track.py
sima/lib/webserv.py

index 4e481e64ab4bfd5349569ae61e70fe36dc15060b..a3efbf55fe68805e133b9ff32cdcc562791cf231 100644 (file)
@@ -22,7 +22,6 @@ Defines some object to handle audio file metadata
 """
 
 from .simastr import SimaStr
 """
 
 from .simastr import SimaStr
-from .track import Track
 
 class MetaException(Exception):
     """Generic Meta Exception"""
 
 class MetaException(Exception):
     """Generic Meta Exception"""
@@ -109,14 +108,5 @@ class Artist(Meta):
             else:
                 raise NotSameArtist('different mbids: {0} and {1}'.format(self, other))
 
             else:
                 raise NotSameArtist('different mbids: {0} and {1}'.format(self, other))
 
-
-class TrackMB(Track):
-
-    def __init__(self, **kwargs):
-        super().__init__(**kwargs)
-        if hasattr(self, 'musicbrainz_artistid'):
-            self.artist = Artist(mbid=self.musicbrainz_artistid,
-                                 name=self.artist)
-
 # vim: ai ts=4 sw=4 sts=4 expandtab
 
 # vim: ai ts=4 sw=4 sts=4 expandtab
 
index 5a01e17f5af69f0c8cd404a0839128672b27ca48..a938c2791776e912cc2991befeb9bb5dc45cd706 100644 (file)
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
 # -*- 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
 #
 # Copyright (c) 2009 J. Alexander Treuman (Tag collapse method)
 # Copyright (c) 2008 Rick van Hattem
 #
@@ -23,6 +23,7 @@
 
 import time
 
 
 import time
 
+from .meta import Artist
 
 class Track:
     """
 
 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 = ''
 
     def __init__(self, file=None, time=0, pos=-1, **kwargs):
         self.title = self.artist = self.album = self.albumartist = ''
+        self.musicbrainz_artistid = None
         self.pos = int(pos)
         self._empty = False
         self._file = file
         self.pos = int(pos)
         self._empty = False
         self._file = file
@@ -124,5 +126,9 @@ class Track:
             fmt = '%M:%S'
         return time.strftime(fmt, temps)
 
             fmt = '%M:%S'
         return time.strftime(fmt, temps)
 
+    def get_artist(self):
+       """Get artist object from track"""
+       return Artist(name=self.artist, mbid=self.musicbrainz_artistid)
+
 # VIM MODLINE
 # vim: ai ts=4 sw=4 sts=4 expandtab
 # VIM MODLINE
 # vim: ai ts=4 sw=4 sts=4 expandtab
index 75b0a38a0b43a1c77038f6051b6cdc66ca39d33e..c84c78cc26f2d0fe79cf9a94bfe14773f6cbd6c4 100644 (file)
@@ -208,17 +208,16 @@ class WebService(Plugin):
             if len(history) == 0:
                 break
             trk = history.popleft()
             if len(history) == 0:
                 break
             trk = history.popleft()
-            if (trk.artist in [trk.artist for trk in extra_arts]
-                or trk.artist == current.artist):
+            if (trk.get_artist() in extra_arts
+                or trk.get_artist() == current.get_artist()):
                 continue
                 continue
-            extra_arts.append(trk)
+            extra_arts.append(trk.get_artist())
             depth += 1
         self.log.info('EXTRA ARTS: {}'.format(
             depth += 1
         self.log.info('EXTRA ARTS: {}'.format(
-            '/'.join([trk.artist for trk in extra_arts])))
+            '/'.join([art.name for art in extra_arts])))
         for artist in extra_arts:
         for artist in extra_arts:
-            self.log.debug(
-                    'Looking for artist similar to "{0.artist}" as well'.format(
-                        artist))
+            self.log.debug('Looking for artist similar '
+                           'to "{}" as well'.format(artist))
             similar = self.ws_similar_artists(artist=artist)
             if not similar:
                 return ret_extra
             similar = self.ws_similar_artists(artist=artist)
             if not similar:
                 return ret_extra