From a3215ef7593fbe298f6d8347dd6e7e402ec65695 Mon Sep 17 00:00:00 2001 From: gotik Date: Tue, 19 Jun 2012 02:36:23 +0200 Subject: [PATCH] mcg: 1) Verbindungsdaten?bergabe nach connect() verschoben 2) Methode close() hinzugef?gt --- mcg.py | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/mcg.py b/mcg.py index b22040e..7ab6ad2 100644 --- a/mcg.py +++ b/mcg.py @@ -18,21 +18,21 @@ class MCGClient: SIGNAL_UPDATE = 'update' - def __init__(self, host="localhost", port=6600, password=None): - self._host = host - self._port = port - self._password = password + def __init__(self): self._connected = False - self._albums = {} self._callbacks = {} self._actions = [] self._worker = None - self._client = mpd.MPDClient() + self._go = True - def connect(self): + def connect(self, host="localhost", port="6600", password=None): + # TODO als Parameter an _add_action() übergeben, nicht speichern + self._host = host + self._port = port + self._password = password self._add_action(self._connect) @@ -70,6 +70,17 @@ class MCGClient: self._callback(self.SIGNAL_CONNECT, self._connected, None) + def close(self): + if not self.is_connected(): + return + try: + self._go = False + self._client.noidle() + self._client.disconnect() + except TypeError as e: + pass + + def update(self): self._add_action(self._update) @@ -158,6 +169,8 @@ class MCGClient: if not self.is_connected(): break modules = self._client.idle() + if not self._go: + break self._idle(modules)