drop MethodType uglyness
This commit is contained in:
parent
954fc29613
commit
739cb9306a
|
@ -8,8 +8,6 @@ from logging import getLogger, DEBUG as _DEBUG
|
||||||
_log = getLogger('listener')
|
_log = getLogger('listener')
|
||||||
del getLogger
|
del getLogger
|
||||||
|
|
||||||
from types import MethodType as _MethodType
|
|
||||||
|
|
||||||
from logitech.unifying_receiver import (Receiver,
|
from logitech.unifying_receiver import (Receiver,
|
||||||
listener as _listener,
|
listener as _listener,
|
||||||
status as _status)
|
status as _status)
|
||||||
|
@ -48,22 +46,8 @@ class ReceiverListener(_listener.EventsListener):
|
||||||
self._last_tick = 0
|
self._last_tick = 0
|
||||||
|
|
||||||
self.status_changed_callback = status_changed_callback
|
self.status_changed_callback = status_changed_callback
|
||||||
|
|
||||||
receiver.status = _status.ReceiverStatus(receiver, self._status_changed)
|
receiver.status = _status.ReceiverStatus(receiver, self._status_changed)
|
||||||
|
|
||||||
# enhance the original register_new_device
|
|
||||||
def _register_with_status(r, number):
|
|
||||||
if bool(self):
|
|
||||||
dev = r.__register_new_device(number)
|
|
||||||
if dev is not None:
|
|
||||||
# read these as soon as possible, they will be used everywhere
|
|
||||||
dev.protocol, dev.codename
|
|
||||||
dev.status = _status.DeviceStatus(dev, self._status_changed)
|
|
||||||
self._status_changed(r)
|
|
||||||
return dev
|
|
||||||
receiver.__register_new_device = receiver.register_new_device
|
|
||||||
receiver.register_new_device = _MethodType(_register_with_status, receiver)
|
|
||||||
|
|
||||||
def has_started(self):
|
def has_started(self):
|
||||||
_log.info("notifications listener has started")
|
_log.info("notifications listener has started")
|
||||||
self.receiver.enable_notifications()
|
self.receiver.enable_notifications()
|
||||||
|
@ -132,6 +116,13 @@ class ReceiverListener(_listener.EventsListener):
|
||||||
assert n.devnumber > 0 and n.devnumber <= self.receiver.max_devices
|
assert n.devnumber > 0 and n.devnumber <= self.receiver.max_devices
|
||||||
already_known = n.devnumber in self.receiver
|
already_known = n.devnumber in self.receiver
|
||||||
dev = self.receiver[n.devnumber]
|
dev = self.receiver[n.devnumber]
|
||||||
|
|
||||||
|
if dev and not already_known:
|
||||||
|
# read these as soon as possible, they will be used everywhere
|
||||||
|
dev.protocol, dev.codename
|
||||||
|
dev.status = _status.DeviceStatus(dev, self._status_changed)
|
||||||
|
self._status_changed(self.receiver)
|
||||||
|
|
||||||
if dev and dev.status is not None:
|
if dev and dev.status is not None:
|
||||||
dev.status.process_notification(n)
|
dev.status.process_notification(n)
|
||||||
if self.receiver.status.lock_open and not already_known:
|
if self.receiver.status.lock_open and not already_known:
|
||||||
|
|
Loading…
Reference in New Issue