Mercurial > code > home > repos > light9
changeset 1101:3074f635ee23
effect page can write code edits back
Ignore-this: 756a3e3a40e4a6c823629e146d6c2799
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Mon, 09 Jun 2014 03:56:25 +0000 |
parents | 1583e997fe0e |
children | d588211a0b4e |
files | bin/effecteval light9/effecteval/effect.coffee |
diffstat | 2 files changed, 19 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/bin/effecteval Mon Jun 09 03:55:50 2014 +0000 +++ b/bin/effecteval Mon Jun 09 03:56:25 2014 +0000 @@ -97,7 +97,19 @@ def messageReceived(self, message): log.info("got message %s" % message) # write a patch back to the graph - + +class Code(PrettyErrorHandler, cyclone.web.RequestHandler): + def put(self): + effect = URIRef(self.get_argument('uri')) + code = Literal(self.get_argument('code')) + with self.settings.graph.currentState(tripleFilter=(None, L9['effect'], effect)) as g: + song = g.subjects(L9['effect'], effect).next() + self.settings.graph.patchObject( + context=song, + subject=effect, + predicate=L9['code'], + newObject=code) + self.send_error(202) class EffectEval(PrettyErrorHandler, cyclone.web.RequestHandler): @inlineCallbacks @@ -148,6 +160,7 @@ (r'/effect\.js', StaticCoffee, {'src': 'light9/effecteval/effect.coffee'}), (r'/index\.js', StaticCoffee, {'src': 'light9/effecteval/index.coffee'}), (r'/effectUpdates', EffectUpdates), + (r'/code', Code), (r'/songEffectsUpdates', SongEffectsUpdates), (r'/static/(.*)', SFH, {'path': 'static/'}), (r'/effect/eval', EffectEval),
--- a/light9/effecteval/effect.coffee Mon Jun 09 03:55:50 2014 +0000 +++ b/light9/effecteval/effect.coffee Mon Jun 09 03:56:25 2014 +0000 @@ -3,14 +3,17 @@ uri: ko.observable(qs.value('uri')) code: ko.observable() -reconnectingWebSocket "ws://localhost:8070/effectUpdates" + window.location.search, (msg) -> +socket = reconnectingWebSocket "ws://localhost:8070/effectUpdates" + window.location.search, (msg) -> console.log('effectData ' + JSON.stringify(msg)) # there's a shorter unpack thing model.code(msg.code) writeBack = ko.computed -> - console.log('sendback' ,{code: model.code()}) + $.ajax + type: 'PUT' + url: 'code' + data: {uri: model.uri(), code: model.code()} ko.applyBindings(model) \ No newline at end of file