Skip to content

Instantly share code, notes, and snippets.

@moritzmhmk
Last active August 29, 2015 14:07
Show Gist options
  • Save moritzmhmk/1f6ee1cf27be10ec1f41 to your computer and use it in GitHub Desktop.
Save moritzmhmk/1f6ee1cf27be10ec1f41 to your computer and use it in GitHub Desktop.
import os
import json
from http.server import BaseHTTPRequestHandler,HTTPServer
from _thread import start_new_thread
song_info = {}
#This class will handles any incoming request from
#the browser
class RequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type','application/json')
self.send_header("Access-Control-Allow-Origin","*")
self.send_header("Access-Control-Expose-Headers","Access-Control-Allow-Origin")
self.send_header("Access-Control-Allow-Headers","Origin, X-Requested-With, Content-Type, Accept")
self.end_headers()
self.wfile.write(bytes(json.dumps(song_info), 'UTF-8'))
return
def read_pipe():
global json
fifo = os.fdopen(os.open("now_playing", os.O_RDONLY | os.O_NONBLOCK))
while True:
try:
line = fifo.readline()[:-1]
if line != "":
data = line.split("=")
song_info[data[0]] = data[1]
print(data)
except KeyboardInterrupt:
break
except:
pass
try:
server = HTTPServer(('', 8888), RequestHandler)
start_new_thread(read_pipe,())
server.serve_forever()
except KeyboardInterrupt:
server.socket.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment