From: kaliko Date: Sun, 9 Aug 2015 12:56:46 +0000 (+0200) Subject: Fixed bug in uniq plugin X-Git-Tag: 0.14.0~8 X-Git-Url: https://git.kaliko.me/?a=commitdiff_plain;h=ac0d934fc127484a0ed14386e4c4ecd4f915b6ca;p=mpd-sima.git Fixed bug in uniq plugin --- diff --git a/sima/core.py b/sima/core.py index 264d97e..60f6b2b 100644 --- a/sima/core.py +++ b/sima/core.py @@ -162,10 +162,10 @@ class Sima(Daemon): try: self.log.info('Connecting MPD: {0}:{1}'.format(*self.player._mpd)) self.player.connect() + self.foreach_plugin('start') except (PlayerError, PlayerUnHandledError) as err: self.log.warning('Player: {}'.format(err)) self.reconnect_player() - self.foreach_plugin('start') while 42: try: self.loop() diff --git a/sima/plugins/core/uniq.py b/sima/plugins/core/uniq.py index 1abdd62..0f42718 100644 --- a/sima/plugins/core/uniq.py +++ b/sima/plugins/core/uniq.py @@ -42,14 +42,15 @@ class Uniq(Plugin): Plugin.__init__(self, daemon) self.chan = 'mpd_sima:{0}.{1}'.format(getfqdn(), getpid()) self.channels = [] - self.uniq = True + self._registred = False def start(self): if not self.is_capable(): self.log.warning('MPD does not provide client to client') return self.is_uniq() - self.sub_chan() + if not self._registred: + self.sub_chan() def is_capable(self): if {'channels', 'subscribe'}.issubset(set(self.player.commands())): @@ -67,11 +68,11 @@ class Uniq(Plugin): if channels: self.log.warning('Another instance is queueing on this MPD host') self.log.warning(' '.join(channels)) - self.uniq = False def sub_chan(self): self.log.debug('Registering as {}'.format(self.chan)) self.player.subscribe(self.chan) + self._registred = True def callback_need_track(self): if self.is_capable():