device: use first word of name for code name if friendly name not available

This commit is contained in:
Peter F. Patel-Schneider 2021-08-27 15:30:03 -04:00
parent c02a1b820b
commit c5ef207961
2 changed files with 5 additions and 1 deletions

View File

@ -198,6 +198,8 @@ class Device(object):
if not self._codename:
if self.online and self.protocol >= 2.0:
self._codename = _hidpp20.get_friendly_name(self)
if not self._codename:
self._codename = self.name.split(' ', 1)[0] if self.name else None
elif self.receiver:
codename = self.receiver.read_register(_R.receiver_info, _IR.device_name + self.number - 1)
if codename:
@ -213,7 +215,7 @@ class Device(object):
if not self._name:
if self.online and self.protocol >= 2.0:
self._name = _hidpp20.get_name(self)
return self._name or self.codename or ('Unknown device %s' % (self.wpid or self.product_id))
return self._name or self._codename or ('Unknown device %s' % (self.wpid or self.product_id))
@property
def unitId(self):

View File

@ -208,6 +208,8 @@ def _print_device(dev, num=None):
elif feature == _hidpp20.FEATURE.DEVICE_NAME:
print(' Name: %s' % _hidpp20.get_name(dev))
print(' Kind: %s' % _hidpp20.get_kind(dev))
elif feature == _hidpp20.FEATURE.DEVICE_FRIENDLY_NAME:
print(' Friendly Name: %s' % _hidpp20.get_friendly_name(dev))
elif feature == _hidpp20.FEATURE.DEVICE_FW_VERSION:
for fw in _hidpp20.get_firmware(dev):
extras = _strhex(fw.extras) if fw.extras else ''