]> kaliko git repositories - mpd-sima.git/blobdiff - sima/lib/track.py
Mainly use literal for list/dict and f-strings when possible
[mpd-sima.git] / sima / lib / track.py
index 503008b6b1a5a844a58b4538c404421dba394589..2df220cc849811e48ac95e342302f4a7257cbdf5 100644 (file)
@@ -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 [',', ';']: