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