Skip to content

Commit

Permalink
Add event ID
Browse files Browse the repository at this point in the history
  • Loading branch information
wsanchez committed Aug 13, 2016
1 parent 7e703c0 commit 22d0102
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions ims/service/eventsource.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ def removeListener(self, listener):
self._listeners.add(listener)


def _transmogrify(self, loggerEvent):
def _transmogrify(self, loggerEvent, eventID):
"""
Convert a logger event into an EventSource event.
"""
Expand All @@ -110,10 +110,13 @@ def _transmogrify(self, loggerEvent):
else:
incidentNumber = incident.number

self.log.critical(
"Unable to determine incident number from store event: {event}",
event=loggerEvent,
)
if incidentNumber is None:
self.log.critical(
"Unable to determine incident number from store event: "
"{event}",
event=loggerEvent,
)
return

message = dict(incident_number=incidentNumber)

Expand All @@ -125,7 +128,7 @@ def _transmogrify(self, loggerEvent):
return

eventSourceEvent = Event(
# FIXME: add ID
eventID=eventID,
eventClass=eventClass.__name__,
message=textFromJSON(message),
)
Expand All @@ -147,19 +150,20 @@ def _playback(self, listener, lastEventID):
listener.write(event.render().encode("utf-8"))


def _publish(self, eventSourceEvent):
def _publish(self, eventSourceEvent, eventID):
eventText = eventSourceEvent.render().encode("utf-8")

for listener in self._listeners:
listener.write(eventText)

self._counter += 1
self._events.append((self._counter, eventSourceEvent))


def __call__(self, event):
eventSourceEvent = self._transmogrify(event)
self._counter += 1

eventSourceEvent = self._transmogrify(event, self._counter)
if eventSourceEvent is None:
return

self._publish(eventSourceEvent)
self._publish(eventSourceEvent, self._counter)

0 comments on commit 22d0102

Please sign in to comment.