# ConnectionError and ProtocolError are always fatal. Others may not
# be, but we don't know how to handle them here, so treat them as if
# they are instead of ignoring them.
- except MPDError as err:
+ except PlayerError as err:
raise PlayerError(f'Could not connect to "{host}:{port}": {err}') from err
if password:
try:
self.log.warning('Use of MusicBrainzIdentifier disabled!')
self.log.info('Consider using MusicBrainzIdentifier for your music library')
self.use_mbid = Meta.use_mbid = False
- self._reset_cache()
+ # TODO: Why do I need to intercept OSError here?
+ # why is it not wrapped in PlayerError in __getattr__?
+ # (cf. commit message for more)
+ try:
+ self._reset_cache()
+ except OSError as err:
+ raise PlayerError(f'Error during cache init: {err}') from err
# ######### / Overriding MPDClient #########
def _reset_cache(self):
if SimaStr(artist.name) == name and name != artist.name:
self.log.debug('add alias for %s: %s', artist, name)
artist.add_alias(name)
- elif len(library) == 1 and library[0] != artist.name:
- new_alias = artist.name
- self.log.info('Update artist name %s->%s', artist, library[0])
- self.log.debug('Also add alias for %s: %s', artist, new_alias)
- artist = Artist(name=library[0], mbid=artist.mbid)
- artist.add_alias(new_alias)
# Fetches remaining artists for potential match
artists = self._cache['nombid_artists']
else: # not using MusicBrainzIDs