diff --git a/lib/logitech_receiver/device.py b/lib/logitech_receiver/device.py index 149f440e..a908eefd 100644 --- a/lib/logitech_receiver/device.py +++ b/lib/logitech_receiver/device.py @@ -478,9 +478,11 @@ class Device: __nonzero__ = __bool__ def __str__(self): - return '' % ( - self.number, self.wpid or self.product_id, self.name or self.codename or '?', self.serial - ) + try: + name = self.name or self.codename or '?' + except _base.NoSuchDevice: + name = 'name not available' + return '' % (self.number, self.wpid or self.product_id, name, self.serial) __repr__ = __str__ diff --git a/lib/solaar/listener.py b/lib/solaar/listener.py index ead74257..93b71ee0 100644 --- a/lib/solaar/listener.py +++ b/lib/solaar/listener.py @@ -156,12 +156,12 @@ class ReceiverListener(_listener.EventsListener): if _log.isEnabledFor(_INFO): if device.kind is None: _log.info( - 'status_changed %s: %s, %s (%X) %s', device, 'present' if bool(device) else 'removed', device.status, + 'status_changed %r: %s, %s (%X) %s', device, 'present' if bool(device) else 'removed', device.status, alert, reason or '' ) else: _log.info( - 'status_changed %s: %s %s, %s (%X) %s', device, 'paired' if bool(device) else 'unpaired', + 'status_changed %r: %s %s, %s (%X) %s', device, 'paired' if bool(device) else 'unpaired', 'online' if device.online else 'offline', device.status, alert, reason or '' ) @@ -253,7 +253,7 @@ class ReceiverListener(_listener.EventsListener): # Apply settings every time the device connects if n.sub_id == 0x41: if _log.isEnabledFor(_INFO): - _log.info('connection %s for %s (%s)', n, dev, dev.kind) + _log.info('connection %s for %r', n, dev) # If there are saved configs, bring the device's settings up-to-date. # They will be applied when the device is marked as online. configuration.attach_to(dev)