Changeset - f3f66dc32bd8
[Not reviewed]
default
0 2 0
Drew Perttula - 11 years ago 2014-06-02 00:21:33
drewp@bigasterisk.com
switch curvecalc web server to cyclone
Ignore-this: 6d72b5c9fdcea4473f96176df63b95ec
2 files changed with 15 insertions and 13 deletions:
0 comments (0 inline, 0 general)
bin/curvecalc
Show inline comments
 
@@ -471,16 +471,17 @@ def launch(args, graph, session, opts, s
 
        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)
 

	
light9/curvecalc/curveedit.py
Show inline comments
 
@@ -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()
 
    class HoverTime(PrettyErrorHandler, cyclone.web.RequestHandler):
 
        def get(self):
 
            hoverTimeResponse(self)
 

	
 
    reactor.listenTCP(port, server.Site(Hover()))
 
    reactor.listenTCP(port, cyclone.web.Application(handlers=[
 
        (r'/hoverTime', HoverTime),
 
        ], debug=True))
0 comments (0 inline, 0 general)