diff bin/effecteval @ 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 771f50f19b4b
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),