names = list()
for art in result.names:
if cls.database.get_bl_artist(art, add_not=True):
- cls.log.debug('Blacklisted "{0}"'.format(art))
+ cls.log.debug('Blacklisted "%s"', art)
continue
names.append(art)
if not names:
self.log.info('Player: Initialising cache!')
self._cache = {'artists': frozenset(),
'nombid_artists': frozenset(),}
- self._cache['artists'] = frozenset(self._execute('list', ['artist']))
+ self._cache['artists'] = frozenset(filter(None, self._execute('list', ['artist'])))
if Artist.use_mbid:
- self._cache['nombid_artists'] = frozenset(self._execute('list', ['artist', 'musicbrainz_artistid', '']))
+ self._cache['nombid_artists'] = frozenset(filter(None, self._execute('list', ['artist', 'musicbrainz_artistid', ''])))
@blacklist(track=True)
def find_track(self, artist, title=None):
def state(self):
return str(self.status().get('state'))
+ @property
+ def playmode(self):
+ plm = {'repeat': None,
+ 'single': None,
+ 'random': None,
+ 'consume': None,
+ }
+ for key, val in self.status().items():
+ if key in plm.keys():
+ plm.update({key:bool(int(val))})
+ return plm
+
@property
def current(self):
return self.currentsong()
if password:
try:
self._client.password(password)
-
- # Catch errors with the password command (e.g., wrong password)
- except CommandError as err:
- raise PlayerError("Could not connect to '%s': "
- "password command failed: %s" %
- (host, err))
-
- # Catch all other possible errors
except (MPDError, IOError) as err:
- raise PlayerError("Could not connect to '%s': "
- "error with password command: %s" %
- (host, err))
+ raise PlayerError("Could not connect to '%s': %s", (host, err))
# Controls we have sufficient rights
needed_cmds = ['status', 'stats', 'add', 'find', \
'search', 'currentsong', 'ping']