Catch exception in io_callback

This commit is contained in:
badaix 2022-07-01 12:14:19 +02:00
parent 550f7c5b3f
commit fd4d82126f

View file

@ -448,24 +448,28 @@ class MPDWrapper(object):
"code": -32700, "message": "Parse error", "data": str(e)}, "id": id})
def io_callback(self, fd, event):
logger.debug("IO event %r on fd %r" % (event, fd))
if event & GLib.IO_HUP:
logger.debug("IO_HUP")
return True
elif event & GLib.IO_IN:
chunk = fd.read()
for char in chunk:
if char == '\n':
logger.info(f'Received: {self._buffer}')
self.control(self._buffer)
self._buffer = ''
else:
self._buffer += char
try:
logger.error(f'IO event "{event}" on fd "{fd}" (type: "{type(fd)}"')
if event & GLib.IO_HUP:
logger.debug("IO_HUP")
return True
elif event & GLib.IO_IN:
chunk = fd.read()
for char in chunk:
if char == '\n':
logger.info(f'Received: {self._buffer}')
self.control(self._buffer)
self._buffer = ''
else:
self._buffer += char
return True
except Exception as e:
logger.error(f'Exception in io_callback: "{str(e)}"')
return True
def socket_callback(self, fd, event):
try:
logger.debug("Socket event %r on fd %r" % (event, fd))
logger.debug(f'Socket event "{event}" on fd "{fd}"')
if event & GLib.IO_HUP:
self.reconnect()
return True
@ -485,8 +489,8 @@ class MPDWrapper(object):
updated = True
self.idle_enter()
return True
except:
logger.error('Exception in socket_callback')
except Exception as e:
logger.error(f'Exception in socket_callback: "{str(e)}"')
self.reconnect()
return True