Code Duplication    Length = 17-22 lines in 2 locations

uaclient/mainwindow.py 2 locations

@@ 107-128 (lines=22) @@
104
            if node is None:
105
                return
106
        if node in self._subscribed_nodes:
107
            logger.info("allready subscribed to event for node: %s", node)
108
            return
109
        logger.info("Subscribing to events for %s", node)
110
        self.window.ui.evDockWidget.raise_()
111
        try:
112
            self.uaclient.subscribe_events(node, self._handler)
113
        except Exception as ex:
114
            self.window.show_error(ex)
115
            raise
116
        else:
117
            self._subscribed_nodes.append(node)
118
119
    @trycatchslot
120
    def _unsubscribe(self):
121
        node = self.window.get_current_node()
122
        if node is None:
123
            return
124
        self._subscribed_nodes.remove(node)
125
        self.uaclient.unsubscribe_events(node)
126
127
    @trycatchslot
128
    def _update_event_model(self, event):
129
        self.model.appendRow([QStandardItem(str(event))])
130
131
@@ 43-59 (lines=17) @@
40
41
logger = logging.getLogger(__name__)
42
43
44
class DataChangeHandler(QObject):
45
    data_change_fired = pyqtSignal(object, str, str)
46
47
    def datachange_notification(self, node, val, data):
48
        if data.monitored_item.Value.SourceTimestamp:
49
            dato = data.monitored_item.Value.SourceTimestamp.isoformat()
50
        elif data.monitored_item.Value.ServerTimestamp:
51
            dato = data.monitored_item.Value.ServerTimestamp.isoformat()
52
        else:
53
            dato = datetime.now().isoformat()
54
        self.data_change_fired.emit(node, str(val), dato)
55
56
57
class EventHandler(QObject):
58
    event_fired = pyqtSignal(object)
59
60
    def event_notification(self, event):
61
        self.event_fired.emit(event)
62