self.plugins = list()
self.player = self.__get_player() # Player client
try:
+ self.log.info('Connecting MPD: {0}:{1}'.format(*self.player._mpd))
self.player.connect()
except (PlayerError, PlayerUnHandledError) as err:
self.log.warning('Player: {}'.format(err))
self.short_history.appendleft(self.player.current)
def register_plugin(self, plugin_class):
- """Registers plubin in Sima instance..."""
+ """Registers plugin in Sima instance..."""
self.plugins.append(plugin_class(self))
def foreach_plugin(self, method, *args, **kwds):
def queue(self):
to_add = list()
for plugin in self.plugins:
- pl_callback = getattr(plugin, 'callback_need_track')()
+ pl_callback = getattr(plugin, 'callback_need_track')()
if pl_callback:
to_add.extend(pl_callback)
if not to_add:
self.log.warning('Queue plugins returned nothing!')
for plugin in self.plugins:
- pl_callback = getattr(plugin, 'callback_need_track_fb')()
+ pl_callback = getattr(plugin, 'callback_need_track_fb')()
if pl_callback:
to_add.extend(pl_callback)
for track in to_add:
def hup_handler(self, signum, frame):
self.log.warning('Caught a sighup!')
- self.player.disconnect()
+ # Cleaning pending command
+ self.player.clean()
self.foreach_plugin('shutdown')
+ self.player.disconnect()
raise SigHup('SIGHUP caught!')
def shutdown(self):
"""General shutdown method
"""
self.log.warning('Starting shutdown.')
- self.player.disconnect()
+ # Cleaning pending command
+ self.player.clean()
self.foreach_plugin('shutdown')
+ self.player.disconnect()
self.log.info('The way is shut, it was made by those who are dead. '
'And the dead keep it…')
except PlayerUnHandledError as err:
#TODO: unhandled Player exceptions
self.log.warning('Unhandled player exception: {}'.format(err))
- del(self.player)
+ del self.player
self.player = PlayerClient()
time.sleep(10)
except PlayerError as err:
self.log.warning('Player error: %s' % err)
self.reconnect_player()
- del(self.changed)
+ del self.changed
def loop(self):
"""Dispatching callbacks to plugins