Mercurial > code > home > repos > light9
comparison bin/effecteval @ 1103:771f50f19b4b
single-line effect code now evals by changing <uri> into a suitable python object
Ignore-this: cde829f021be54bc7cfd63bddde43aa9
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Mon, 09 Jun 2014 07:10:39 +0000 |
parents | 3074f635ee23 |
children | 512381de45bd |
comparison
equal
deleted
inserted
replaced
1102:d588211a0b4e | 1103:771f50f19b4b |
---|---|
51 graph.patch(Patch(addQuads=[ | 51 graph.patch(Patch(addQuads=[ |
52 (song, L9['curve'], curve, ctx), | 52 (song, L9['curve'], curve, ctx), |
53 (song, L9['effect'], effect, ctx), | 53 (song, L9['effect'], effect, ctx), |
54 (effect, RDF.type, L9['Effect'], ctx), | 54 (effect, RDF.type, L9['Effect'], ctx), |
55 (effect, L9['code'], | 55 (effect, L9['code'], |
56 Literal('out = sub(%s, intensity=%s)' % (dropped.n3(), curve.n3())), | 56 Literal('out = %s * %s' % (dropped.n3(), curve.n3())), |
57 ctx), | 57 ctx), |
58 ])) | 58 ])) |
59 | 59 |
60 | 60 |
61 class SongEffectsUpdates(cyclone.websocket.WebSocketHandler): | 61 class SongEffectsUpdates(cyclone.websocket.WebSocketHandler): |
100 | 100 |
101 class Code(PrettyErrorHandler, cyclone.web.RequestHandler): | 101 class Code(PrettyErrorHandler, cyclone.web.RequestHandler): |
102 def put(self): | 102 def put(self): |
103 effect = URIRef(self.get_argument('uri')) | 103 effect = URIRef(self.get_argument('uri')) |
104 code = Literal(self.get_argument('code')) | 104 code = Literal(self.get_argument('code')) |
105 with self.settings.graph.currentState(tripleFilter=(None, L9['effect'], effect)) as g: | 105 with self.settings.graph.currentState( |
106 tripleFilter=(None, L9['effect'], effect)) as g: | |
106 song = g.subjects(L9['effect'], effect).next() | 107 song = g.subjects(L9['effect'], effect).next() |
107 self.settings.graph.patchObject( | 108 self.settings.graph.patchObject( |
108 context=song, | 109 context=song, |
109 subject=effect, | 110 subject=effect, |
110 predicate=L9['code'], | 111 predicate=L9['code'], |
111 newObject=code) | 112 newObject=code) |
113 # right here we could tell if the code has a python error and return it | |
112 self.send_error(202) | 114 self.send_error(202) |
113 | 115 |
114 class EffectEval(PrettyErrorHandler, cyclone.web.RequestHandler): | 116 class EffectEval(PrettyErrorHandler, cyclone.web.RequestHandler): |
115 @inlineCallbacks | 117 @inlineCallbacks |
116 def get(self): | 118 def get(self): |