X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Fmpdclient.py;h=cced48c34e4df1f77ba1c962b4520246c6e43d5f;hb=799caf7d8e01cf9a10857bda5738fe98afd3902e;hp=23b263e1ee92b24460b097034b421b794f4a2be4;hpb=a7fe64c759576b0ddb1de3e94316b3167e21afb1;p=mpd-sima.git diff --git a/sima/mpdclient.py b/sima/mpdclient.py index 23b263e..cced48c 100644 --- a/sima/mpdclient.py +++ b/sima/mpdclient.py @@ -149,7 +149,7 @@ class MPD(MPDClient): # 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: @@ -189,7 +189,13 @@ class MPD(MPDClient): 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):