fix reconnect logic

This commit is contained in:
lilydjwg 2021-04-13 13:42:17 +08:00
parent 6e53d15569
commit 54febc8b22
2 changed files with 5 additions and 2 deletions

View file

@ -11,13 +11,15 @@ def may_reconnect(func):
for _ in range(2):
try:
return func(self, *args, **kwargs)
except dbus.exceptions.DBusException:
except (dbus.exceptions.DBusException, AttributeError):
self.connect()
return wrapped
class FcitxComm():
def __init__(self):
self.connect()
# don't connect on start; connect on demand
# self.connect()
pass
def connect(self):
bus = dbus.SessionBus()

View file

@ -47,6 +47,7 @@ class FcitxComm(object):
try:
return func(*args, **kwargs)
except (socket.error, socket.timeout, struct.error) as e:
self.sock = None
self._error(e)
def _status(self):