Mercurial > code > home > repos > light9
changeset 1061:f3f66dc32bd8
switch curvecalc web server to cyclone
Ignore-this: 6d72b5c9fdcea4473f96176df63b95ec
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Mon, 02 Jun 2014 00:21:33 +0000 |
parents | 473db8bebb8f |
children | 0f51a1a5785e |
files | bin/curvecalc light9/curvecalc/curveedit.py |
diffstat | 2 files changed, 16 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/bin/curvecalc Mon Jun 02 00:19:38 2014 +0000 +++ b/bin/curvecalc Mon Jun 02 00:21:33 2014 +0000 @@ -471,16 +471,17 @@ log.debug("quitting now because of --startup-only") return - def hoverTimeResponse(request): + def hoverTimeResponse(requestHandler): results = dispatcher.send("onPlayPause") times = [t for listener, t in results if t is not None] if not times: - request.setResponseCode(404) - return "not hovering over any time" + requestHandler.set_status(404) + requestHandler.write("not hovering over any time") + return with graph.currentState( tripleFilter=(session, L9['currentSong'], None)) as g: song = g.value(session, L9['currentSong']) - return json.dumps({"song": song, "hoverTime" : times[0]}) + json.dump({"song": song, "hoverTime" : times[0]}, requestHandler) serveCurveEdit(networking.curveCalc.port, hoverTimeResponse)
--- a/light9/curvecalc/curveedit.py Mon Jun 02 00:19:38 2014 +0000 +++ b/light9/curvecalc/curveedit.py Mon Jun 02 00:21:33 2014 +0000 @@ -2,19 +2,20 @@ this may be split out from curvecalc someday, since it doesn't need to be tied to a gui """ from twisted.internet import reactor -from light9 import networking +import cyclone.web, cyclone.httpclient, cyclone.websocket + +from lib.cycloneerr import PrettyErrorHandler + def serveCurveEdit(port, hoverTimeResponse): """ /hoverTime requests actually are handled by the curvecalc gui """ - - from twisted.web import server, resource - class Hover(resource.Resource): - isLeaf = True - def render_GET(self, request): - if request.path == '/hoverTime': - return hoverTimeResponse(request) - raise NotImplementedError() - reactor.listenTCP(port, server.Site(Hover())) + class HoverTime(PrettyErrorHandler, cyclone.web.RequestHandler): + def get(self): + hoverTimeResponse(self) + + reactor.listenTCP(port, cyclone.web.Application(handlers=[ + (r'/hoverTime', HoverTime), + ], debug=True))