Mercurial > code > home > repos > homeauto
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 |