X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Fclient.py;h=8481f5cfa71d3e7fe35b9fecece2238ae24c7c0d;hb=4f1b17d6b72946b60f79b8c3f5fa5557710b9aac;hp=c04b259a90a147e4d3545012f8232fcd8ff39270;hpb=4414e379aa08c465416d5f2bdbc4e9292170f6d8;p=mpd-sima.git diff --git a/sima/client.py b/sima/client.py index c04b259..8481f5c 100644 --- a/sima/client.py +++ b/sima/client.py @@ -288,9 +288,9 @@ class PlayerClient(Player): def monitor(self): curr = self.current try: - self._client.send_idle('database', 'playlist', 'player', 'options') + self.send_idle('database', 'playlist', 'player', 'options') select([self._client], [], [], 60) - ret = self._client.fetch_idle() + ret = self.fetch_idle() if self.__skipped_track(curr): ret.append('skipped') if 'database' in ret: @@ -299,6 +299,14 @@ class PlayerClient(Player): except (MPDError, IOError) as err: raise PlayerError("Couldn't init idle: %s" % err) + def clean(self): + """Clean blocking event (idle) and pending commands + """ + if 'idle' in self._client._pending: + self._client.noidle() + elif self._client._pending: + self.log.warning('pending commands: {}'.format(self._client._pending)) + def remove(self, position=0): self._client.delete(position)