# HG changeset patch # User drewp@bigasterisk.com # Date 1669437185 28800 # Node ID 36471461685fea248266f2233742de19ddaca754 # Parent c48b7bbc3a648184f1e331c7041925ac3b7a7e6e py server doesn't do static files now diff -r c48b7bbc3a64 -r 36471461685f collector.py --- a/collector.py Fri Nov 25 20:32:05 2022 -0800 +++ b/collector.py Fri Nov 25 20:33:05 2022 -0800 @@ -16,7 +16,7 @@ import cyclone.sse import cyclone.web from docopt import docopt -from patchablegraph import jsonFromPatch +from patchablegraph.patchablegraph import jsonFromPatch from patchablegraph.patchsource import PatchSource, ReconnectingPatchSource from prometheus_client import Summary from prometheus_client.exposition import generate_latest @@ -29,6 +29,24 @@ from collector_config import config +import cyclone.sse +def py3_sendEvent(self, message, event=None, eid=None, retry=None): + + if isinstance(message, dict): + message = cyclone.sse.escape.json_encode(message) + if isinstance(message, str): + message = message.encode("utf-8") + assert isinstance(message, bytes) + if eid: + self.transport.write(b"id: %s\n" % eid) + if event: + self.transport.write(b"event: %s\n" % event) + if retry: + self.transport.write(b"retry: %s\n" % retry) + self.transport.write(b"data: %s\n\n" % message) +cyclone.sse.SSEHandler.sendEvent = py3_sendEvent + + Statement = Tuple[Node, Node, Node, Node] @@ -341,7 +359,7 @@ # it up into multiple sends, although there's no # guarantee at all since any single stmt could be any # length. - h.sendEvent(message=jsonFromPatch(p).encode('utf8'), event=b'patch') + h.sendEvent(message=jsonFromPatch(p), event=b'patch') h.lastPatchSentTime = now else: log.debug('nothing to send to %s', h) @@ -409,7 +427,9 @@ def get(self) -> None: try: state = self.settings.graphClients.state() - self.write(json.dumps({'graphClients': state}, indent=2, default=lambda obj: '')) + msg = json.dumps({'graphClients': state}, indent=2, default=lambda obj: '') + log.info(msg) + self.write(msg) except Exception: import traceback traceback.print_exc() @@ -430,7 +450,7 @@ -i Info level only """) - if arg['-v'] or arg['-i']: + if True: enableTwistedLog() log.setLevel(logging.DEBUG if arg['-v'] else logging.INFO) defer.setDebugging(True) @@ -441,10 +461,6 @@ 9072, cyclone.web.Application( # handlers=[ - (r"/()", cyclone.web.StaticFileHandler, { - "path": ".", - "default_filename": "index.html" - }), (r'/state', State), (r'/graph/', GraphList), (r'/graph/(.+)', PatchSink),