(self, isession, etype=None, emitting_node=ua.ObjectIds.Server)
| 27 | """ |
| 28 | |
| 29 | def __init__(self, isession, etype=None, emitting_node=ua.ObjectIds.Server): |
| 30 | if not etype: |
| 31 | etype = event_objects.BaseEvent() |
| 32 | |
| 33 | self.logger = logging.getLogger(__name__) |
| 34 | self.isession = isession |
| 35 | self.event = None |
| 36 | node = None |
| 37 | |
| 38 | if isinstance(etype, event_objects.BaseEvent): |
| 39 | self.event = etype |
| 40 | elif isinstance(etype, Node): |
| 41 | node = etype |
| 42 | elif isinstance(etype, ua.NodeId): |
| 43 | node = Node(self.isession, etype) |
| 44 | else: |
| 45 | node = Node(self.isession, ua.NodeId(etype)) |
| 46 | |
| 47 | if node: |
| 48 | self.event = events.get_event_obj_from_type_node(node) |
| 49 | |
| 50 | if isinstance(emitting_node, Node): |
| 51 | pass |
| 52 | elif isinstance(emitting_node, ua.NodeId): |
| 53 | emitting_node = Node(isession, emitting_node) |
| 54 | else: |
| 55 | emitting_node = Node(isession, ua.NodeId(emitting_node)) |
| 56 | |
| 57 | self.event.emitting_node = emitting_node.nodeid |
| 58 | |
| 59 | if not self.event.SourceNode: |
| 60 | self.event.SourceNode = emitting_node.nodeid |
| 61 | self.event.SourceName = emitting_node.get_browse_name().Name |
| 62 | |
| 63 | emitting_node.set_event_notifier([ua.EventNotifier.SubscribeToEvents]) |
| 64 | refs = [] |
| 65 | ref = ua.AddReferencesItem() |
| 66 | ref.IsForward = True |
| 67 | ref.ReferenceTypeId = ua.NodeId(ua.ObjectIds.GeneratesEvent) |
| 68 | ref.SourceNodeId = emitting_node.nodeid |
| 69 | ref.TargetNodeClass = ua.NodeClass.ObjectType |
| 70 | ref.TargetNodeId = self.event.EventType |
| 71 | refs.append(ref) |
| 72 | results = self.isession.add_references(refs) |
| 73 | # result.StatusCode.check() |
| 74 | |
| 75 | self.emitting_node = emitting_node |
| 76 | |
| 77 | def __str__(self): |
| 78 | return "EventGenerator(Type:{0}, Emitting Node:{1}, Time:{2}, Message: {3})".format(self.event.EventType, |
nothing calls this directly
no test coverage detected