X-Git-Url: http://git.kaliko.me/?a=blobdiff_plain;f=sima%2Fcore.py;h=ed4e0e1115ef93a96b96048ef8b83780fc61ae21;hb=bea8556448ebaf7f54ebd268639caa7492dd0a85;hp=f4154d9d9f60c68c4812d189d72cb231df1788f6;hpb=1968c2cb249b9230f00f9749017770ab933582c0;p=mpd-sima.git diff --git a/sima/core.py b/sima/core.py index f4154d9..ed4e0e1 100644 --- a/sima/core.py +++ b/sima/core.py @@ -26,7 +26,7 @@ from collections import deque from logging import getLogger from .mpdclient import MPD as PlayerClient -from .mpdclient import PlayerError, MPDError +from .mpdclient import PlayerError from .lib.simadb import SimaDB from .lib.daemon import Daemon from .utils.utils import SigHup @@ -46,7 +46,7 @@ class Sima(Daemon): self.log = getLogger('sima') self._plugins = list() self._core_plugins = list() - self.player = PlayerClient(self) # Player client + self.player = PlayerClient(conf) # MPD client self.short_history = deque(maxlen=60) def add_history(self): @@ -125,7 +125,7 @@ class Sima(Daemon): except PlayerError as err: self.log.debug(err) continue - except MPDError as err: + except PlayerError as err: #TODO: unhandled Player exceptions self.log.warning('Unhandled player exception: %s', err) self.log.info('Got reconnected') @@ -145,10 +145,12 @@ class Sima(Daemon): """ self.log.warning('Starting shutdown.') # Cleaning pending command - self.player.clean() - self.foreach_plugin('shutdown') - self.player.disconnect() - + try: + self.player.clean() + self.foreach_plugin('shutdown') + self.player.disconnect() + except PlayerError as err: + self.log.error('Player error during shutdown: %s', err) self.log.info('The way is shut, it was made by those who are dead. ' 'And the dead keep it…') self.log.info('bye...') @@ -160,13 +162,13 @@ class Sima(Daemon): self.log.info('Connecting MPD: %(host)s:%(port)s', self.config['MPD']) self.player.connect() self.foreach_plugin('start') - except (PlayerError, MPDError) as err: + except PlayerError as err: self.log.warning('Player: %s', err) self.reconnect_player() while 42: try: self.loop() - except (PlayerError, MPDError) as err: + except PlayerError as err: self.log.warning('Player error: %s', err) self.reconnect_player() del self.changed