Skip to content

Instantly share code, notes, and snippets.

@rbtcollins
Last active November 4, 2015 20:37
Show Gist options
  • Save rbtcollins/ae69cd04bf6618027783 to your computer and use it in GitHub Desktop.
Save rbtcollins/ae69cd04bf6618027783 to your computer and use it in GitHub Desktop.
class HandleEvent(testtools.StreamResult):
def __init__(self, callback):
self._buffers = {}
self._callback = callback
def status(self, test_id=None, test_status=None, test_tags=None,
runnable=True, file_name=None, file_bytes=None, eof=False,
mime_type=None, route_code=None, timestamp=None):
if not test_id:
return
if file_name != "collect.json":
return
key = (route_code, file_name)
segments = self._buffers.pop(key, [])
segments.append(file_bytes)
if eof:
content = b''.join(segments)
self._callback(content)
return
self._buffers[key] = segments
def stopTestRun(self):
for segments in self._buffers.values():
self._callback(b''.join(segments))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment