receiver: move receiver codename code from device class to receiver class
This commit is contained in:
parent
0df6acd67a
commit
a96caea5e4
|
@ -148,13 +148,10 @@ class Device:
|
||||||
|
|
||||||
self.descriptor = _descriptors.get_wpid(self.wpid)
|
self.descriptor = _descriptors.get_wpid(self.wpid)
|
||||||
if self.descriptor is None:
|
if self.descriptor is None:
|
||||||
# Last chance to correctly identify the device; many Nano
|
# Last chance to correctly identify the device; many Nano receivers do not support this call.
|
||||||
# receivers do not support this call.
|
codename = self.receiver.device_codename(self.number)
|
||||||
codename = self.receiver.read_register(_R.receiver_info, _IR.device_name + self.number - 1)
|
|
||||||
if codename:
|
if codename:
|
||||||
codename_length = ord(codename[1:2])
|
self._codename = codename
|
||||||
codename = codename[2:2 + codename_length]
|
|
||||||
self._codename = codename.decode('ascii')
|
|
||||||
self.descriptor = _descriptors.get_codename(self._codename)
|
self.descriptor = _descriptors.get_codename(self._codename)
|
||||||
else:
|
else:
|
||||||
self.path = info.path
|
self.path = info.path
|
||||||
|
@ -199,11 +196,9 @@ class Device:
|
||||||
if not self._codename:
|
if not self._codename:
|
||||||
self._codename = self.name.split(' ', 1)[0] if self.name else None
|
self._codename = self.name.split(' ', 1)[0] if self.name else None
|
||||||
elif self.receiver:
|
elif self.receiver:
|
||||||
codename = self.receiver.read_register(_R.receiver_info, _IR.device_name + self.number - 1)
|
codename = self.receiver.device_codename(self.number)
|
||||||
if codename:
|
if codename:
|
||||||
codename_length = ord(codename[1:2])
|
self._codename = codename
|
||||||
codename = codename[2:2 + codename_length]
|
|
||||||
self._codename = codename.decode('utf-8')
|
|
||||||
elif self.protocol < 2.0:
|
elif self.protocol < 2.0:
|
||||||
self._codename = '? (%s)' % (self.wpid or self.product_id)
|
self._codename = '? (%s)' % (self.wpid or self.product_id)
|
||||||
return self._codename if self._codename else '?? (%s)' % (self.wpid or self.product_id)
|
return self._codename if self._codename else '?? (%s)' % (self.wpid or self.product_id)
|
||||||
|
|
|
@ -135,6 +135,13 @@ class Receiver:
|
||||||
_log.info('%s: receiver notifications %s => %s', self, 'enabled' if enable else 'disabled', flag_names)
|
_log.info('%s: receiver notifications %s => %s', self, 'enabled' if enable else 'disabled', flag_names)
|
||||||
return flag_bits
|
return flag_bits
|
||||||
|
|
||||||
|
def device_codename(self, n):
|
||||||
|
codename = self.read_register(_R.receiver_info, _IR.device_name + n - 1)
|
||||||
|
if codename:
|
||||||
|
codename_length = ord(codename[1:2])
|
||||||
|
codename = codename[2:2 + codename_length]
|
||||||
|
return codename.decode('ascii')
|
||||||
|
|
||||||
def notify_devices(self):
|
def notify_devices(self):
|
||||||
"""Scan all devices."""
|
"""Scan all devices."""
|
||||||
if self.handle:
|
if self.handle:
|
||||||
|
|
Loading…
Reference in New Issue