import time
-from .meta import Artist, SEPARATOR
+from .meta import Artist, Album, SEPARATOR
+
class Track:
"""
'genre', 'albumartist',
'musicbrainz_artistid',
'musicbrainz_albumartistid']
- # have tags been collapsed?
+ # Which tags have been collapsed?
self.collapsed_tags = list()
# Needed for multiple tags which returns a list instead of a string
self._collapse_tags()
def __str__(self):
return '{artist} - {album} - {title} ({length})'.format(
- length=self.length,
- **self.__dict__
- )
+ length=self.length,
+ **self.__dict__
+ )
def __int__(self):
return int(self.duration)
def genres(self):
"""Fetches Genres for the track
Multivalue genre are dealt with:
- * when genre tag is multivalued
- * when single tag uses coma or semi-colon separator
+
+ * when genre tag is multivalued
+ * when single tag uses coma or semi-colon separator
"""
if 'genre' not in self.__dict__:
return []
return Artist(name='[unknown]', **self.__dict__)
return Artist(**self.__dict__)
+ @property
+ def Album(self):
+ """Get the :class:`sima.lib.meta.Album` associated to this track"""
+ if not self.album:
+ return Album(name='[unknown]', **self.__dict__)
+ return Album(name=self.album, **self.__dict__)
+
# VIM MODLINE
# vim: ai ts=4 sw=4 sts=4 expandtab