annotate patch_cyclone_sse.py @ 24:03803832a087 default tip

add view definition for streamed-graph viewer
author drewp@bigasterisk.com
date Tue, 29 Mar 2022 21:17:56 -0700
parents 6f38aa08408d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
1 def patchCycloneSse():
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
2 import cyclone.sse
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
3 from cyclone import escape
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
4
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
5 def sendEvent(self, message, event=None, eid=None, retry=None):
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
6 if isinstance(message, dict):
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
7 message = escape.json_encode(message)
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
8 if isinstance(message, str):
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
9 message = message.encode("utf-8")
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
10 assert isinstance(message, bytes)
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
11
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
12 if eid:
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
13 self.transport.write(b"id: %s\n" % eid)
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
14 if event:
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
15 self.transport.write(b"event: %s\n" % event)
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
16 if retry:
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
17 self.transport.write(b"retry: %s\n" % retry)
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
18
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
19 self.transport.write(b"data: %s\n\n" % message)
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
20
6f38aa08408d starting over: make a web page that draws a streamed graph from collector, with plans for services to scrape the data that collector will subscribe to
drewp@bigasterisk.com
parents:
diff changeset
21 cyclone.sse.SSEHandler.sendEvent = sendEvent