X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Flib%2Ftrack.py;h=2df220cc849811e48ac95e342302f4a7257cbdf5;hb=a260ebea93f23d72aa6e0178744b0f64c469b7ba;hp=503008b6b1a5a844a58b4538c404421dba394589;hpb=6dc2257a2358877b8d1039791d046cf981e39b9f;p=mpd-sima.git diff --git a/sima/lib/track.py b/sima/lib/track.py index 503008b..2df220c 100644 --- a/sima/lib/track.py +++ b/sima/lib/track.py @@ -25,6 +25,7 @@ import time from .meta import Artist, Album, SEPARATOR + class Track: """ Track object. @@ -38,7 +39,7 @@ class Track: """ def __init__(self, file=None, duration=0, pos=-1, **kwargs): - self.title = self.artist = self.album = self.albumartist = '' + self.title = self.artist = self.album = self.albumartist = self.genre = '' self.musicbrainz_artistid = self.musicbrainz_albumartistid = None self.musicbrainz_albumid = self.musicbrainz_trackid = None self.pos = int(pos) @@ -52,8 +53,8 @@ class Track: 'genre', 'albumartist', 'musicbrainz_artistid', 'musicbrainz_albumartistid'] - # have tags been collapsed? - self.collapsed_tags = list() + # Which tags have been collapsed? + self.collapsed_tags = [] # Needed for multiple tags which returns a list instead of a string self._collapse_tags() @@ -80,9 +81,9 @@ class Track: 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) @@ -116,8 +117,9 @@ class Track: @property def length(self): - """Get a fancy duration as ``%H:%M:%S`` (use :attr:`duration` to get duration in second only)""" - temps = time.gmtime(self.duration) #TODO: returns a date not a duration + """Get a fancy duration as ``%H:%M:%S`` (use :attr:`duration` to get + duration in second only)""" + temps = time.gmtime(self.duration) # TODO: returns a date not a duration if temps.tm_hour: fmt = '%H:%M:%S' else: @@ -128,10 +130,11 @@ class Track: 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__: + if not self.genre: return [] genres = self.genre.split(SEPARATOR) for sep in [',', ';']: