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',
'musicbrainz_artistid',
'musicbrainz_albumartistid']
# have tags been collapsed?
- self.collapse_tags_bool = False
self.collapsed_tags = list()
# Needed for multiple tags which returns a list instead of a string
self.collapse_tags()
if tag not in self.tags_to_collapse:
continue
if isinstance(value, list):
- self.collapse_tags_bool = True
self.collapsed_tags.append(tag)
self.__dict__.update({tag: ', '.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,
fmt = '%M:%S'
return time.strftime(fmt, temps)
- def get_artist(self):
- """Get artist object from track"""
- name = self.artist
- mbid = self.musicbrainz_artistid
- if self.albumartist != 'Various Artists':
- name = self.albumartist
- if self.musicbrainz_albumartistid != '89ad4ac3-39f7-470e-963a-56509c546377':
- mbid = self.musicbrainz_albumartistid
- return Artist(name=name, mbid=mbid)
+ @property
+ def Artist(self):
+ """Get artist object from track"""
+ 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