comparison service/starArduino/starArduino.py @ 841:ddc2cdbfde50

rdflib and jsonlib api updates Ignore-this: feb4c3bee7704dee42f1d3a01b20f4e8 darcs-hash:20120808062410-312f9-2d5e41e2bb782e0e3946af63c6bbaf695f23fc16
author drewp <drewp@bigasterisk.com>
date Tue, 07 Aug 2012 23:24:10 -0700
parents a422d875d94d
children 4e34fd9aee00
comparison
equal deleted inserted replaced
840:afc74853a1a4 841:ddc2cdbfde50
2 arduino driver for the nightlight+buttons+temp setup running on star 2 arduino driver for the nightlight+buttons+temp setup running on star
3 3
4 """ 4 """
5 from __future__ import division 5 from __future__ import division
6 6
7 import sys, jsonlib 7 import sys,json
8 from twisted.internet import reactor, task 8 from twisted.internet import reactor, task
9 from twisted.internet.task import LoopingCall 9 from twisted.internet.task import LoopingCall
10 import cyclone.web, restkit 10 import cyclone.web, restkit
11 11
12 sys.path.append("/my/proj/pixel/shiftweb") 12 sys.path.append("/my/proj/pixel/shiftweb")
29 29
30 class Temperature(PrettyErrorHandler, cyclone.web.RequestHandler): 30 class Temperature(PrettyErrorHandler, cyclone.web.RequestHandler):
31 def get(self): 31 def get(self):
32 f = self.settings.arduino.getTemperature() 32 f = self.settings.arduino.getTemperature()
33 self.set_header("Content-Type", "application/json") 33 self.set_header("Content-Type", "application/json")
34 self.write(jsonlib.write({"temp" : f})) 34 self.write(json.dumps({"temp" : f}))
35 35
36 class Brite(PrettyErrorHandler, cyclone.web.RequestHandler): 36 class Brite(PrettyErrorHandler, cyclone.web.RequestHandler):
37 def get(self, pos): 37 def get(self, pos):
38 self.set_header("Content-Type", "text/plain") 38 self.set_header("Content-Type", "text/plain")
39 self.write(hexFromRgb(self.settings.colors[int(pos)])) 39 self.write(hexFromRgb(self.settings.colors[int(pos)]))
84 'C':'CODE39', 84 'C':'CODE39',
85 'I':'ITF', 85 'I':'ITF',
86 'K':'CODE128', 86 'K':'CODE128',
87 }[code[0]] 87 }[code[0]]
88 code = code[1:-1] 88 code = code[1:-1]
89 postBarcode.post(payload=jsonlib.dumps( 89 postBarcode.post(payload=json.dumps(
90 {'barcodeType':codeType, 'code':code}), 90 {'barcodeType':codeType, 'code':code}),
91 headers={"content-type" : 91 headers={"content-type" :
92 "application/json"}) 92 "application/json"})
93 93
94 except ValueError, e: 94 except ValueError, e:
111 line += c 111 line += c
112 if c == "\n": 112 if c == "\n":
113 break 113 break
114 else: 114 else:
115 raise ValueError("timed out waiting for chars") 115 raise ValueError("timed out waiting for chars")
116 return jsonlib.loads(line) 116 return json.loads(line)
117 117
118 sb = A(numChannels=3) 118 sb = A(numChannels=3)
119 119
120 colors = [(0,0,0)] * sb.numChannels 120 colors = [(0,0,0)] * sb.numChannels
121 121