Mercurial > code > home > repos > homeauto
comparison service/starArduino/barcodePlayer.py @ 828:a422d875d94d
barcode support on star. triggers mpd song
Ignore-this: 1038c3d0501bba595fbf701e30acac6
darcs-hash:20120304114228-312f9-8fc9a9198be2044359f35aebcd1c428a58cb4ea2.gz
author | drewp <drewp@bigasterisk.com> |
---|---|
date | Sun, 04 Mar 2012 03:42:28 -0800 |
parents | |
children | bd3604359b98 |
comparison
equal
deleted
inserted
replaced
827:f97547561b1d | 828:a422d875d94d |
---|---|
1 #!bin/python | |
2 """ | |
3 receives POSTs about barcodes that are scanned, plays songs on mpd | |
4 """ | |
5 | |
6 from __future__ import division | |
7 | |
8 import cyclone.web, cyclone.httpclient, sys, json | |
9 from twisted.python import log | |
10 from twisted.internet import reactor | |
11 from twisted.internet.defer import inlineCallbacks | |
12 sys.path.append("/my/proj/homeauto/lib") | |
13 from cycloneerr import PrettyErrorHandler | |
14 | |
15 | |
16 | |
17 class Index(PrettyErrorHandler, cyclone.web.RequestHandler): | |
18 def get(self): | |
19 | |
20 self.set_header("Content-Type", "application/xhtml+xml") | |
21 self.write(open("index.html").read()) | |
22 | |
23 class BarcodeScan(PrettyErrorHandler, cyclone.web.RequestHandler): | |
24 @inlineCallbacks | |
25 def post(self): | |
26 print json.loads(self.request.body) | |
27 | |
28 song = "cd/Kindermusik-The_Best_of_the_Best/14.Fiddle-de-dee.ogg" | |
29 | |
30 print (yield cyclone.httpclient.fetch(url="http://star:9009/addAndPlay/%s" % song, method="POST")).body | |
31 | |
32 self.write("ok") | |
33 | |
34 | |
35 if __name__ == '__main__': | |
36 app = cyclone.web.Application([ | |
37 (r'/', Index), | |
38 (r'/barcodeScan', BarcodeScan), | |
39 ], ) | |
40 log.startLogging(sys.stdout) | |
41 reactor.listenTCP(9011, app) | |
42 reactor.run() |