X-Git-Url: http://git.kaliko.me/?p=python-musicpd.git;a=blobdiff_plain;f=musicpd.py;fp=musicpd.py;h=e61188da533b6133acdca63d4e7f17f6e0502aac;hp=3e22598b811581cc3d6ecfcda670d5eece13a296;hb=dc90488713d55a1aa65744dffbfa464da88a0b24;hpb=549a3573ba228d07ef40a2a70b0e23ed2e4c42b2 diff --git a/musicpd.py b/musicpd.py index 3e22598..e61188d 100644 --- a/musicpd.py +++ b/musicpd.py @@ -23,7 +23,7 @@ VERSION = '0.9.0b1' #: Seconds before a connection attempt times out #: (overriden by :envvar:`MPD_TIMEOUT` env. var.) CONNECTION_TIMEOUT = 30 -#: Socket timeout in second (Default is None for no timeout) +#: Socket timeout in second > 0 (Default is :py:obj:`None` for no timeout) SOCKET_TIMEOUT = None log = logging.getLogger(__name__) @@ -727,15 +727,25 @@ class MPDClient: @property def socket_timeout(self): """Socket timeout in second (defaults to :py:obj:`SOCKET_TIMEOUT`). - Use None to disable socket timout.""" + Use :py:obj:`None` to disable socket timout. + + :setter: Set the socket timeout + :type: int or None (integer > 0) + """ return self._socket_timeout @socket_timeout.setter def socket_timeout(self, timeout): - self._socket_timeout = timeout + if timeout is not None: + if int(timeout) <= 0: + raise ValueError('socket_timeout expects a non zero positive integer') + self._socket_timeout = int(timeout) + else: + self._socket_timeout = timeout if getattr(self._sock, 'settimeout', False): self._sock.settimeout(self._socket_timeout) + def disconnect(self): """Closes the MPD connection. The client closes the actual socket, it does not use the