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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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()