Mercurial > code > home > repos > homeauto
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/starArduino/barcodePlayer.py Sun Mar 04 03:42:28 2012 -0800 @@ -0,0 +1,42 @@ +#!bin/python +""" +receives POSTs about barcodes that are scanned, plays songs on mpd +""" + +from __future__ import division + +import cyclone.web, cyclone.httpclient, sys, json +from twisted.python import log +from twisted.internet import reactor +from twisted.internet.defer import inlineCallbacks +sys.path.append("/my/proj/homeauto/lib") +from cycloneerr import PrettyErrorHandler + + + +class Index(PrettyErrorHandler, cyclone.web.RequestHandler): + def get(self): + + self.set_header("Content-Type", "application/xhtml+xml") + self.write(open("index.html").read()) + +class BarcodeScan(PrettyErrorHandler, cyclone.web.RequestHandler): + @inlineCallbacks + def post(self): + print json.loads(self.request.body) + + song = "cd/Kindermusik-The_Best_of_the_Best/14.Fiddle-de-dee.ogg" + + print (yield cyclone.httpclient.fetch(url="http://star:9009/addAndPlay/%s" % song, method="POST")).body + + self.write("ok") + + +if __name__ == '__main__': + app = cyclone.web.Application([ + (r'/', Index), + (r'/barcodeScan', BarcodeScan), + ], ) + log.startLogging(sys.stdout) + reactor.listenTCP(9011, app) + reactor.run()