Anders and Briegel in Python
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

40 řádky
1.2KB

  1. import urlparse
  2. from BaseHTTPServer import BaseHTTPRequestHandler
  3. from SimpleHTTPServer import SimpleHTTPRequestHandler
  4. import SocketServer
  5. import sys
  6. import json
  7. import threading
  8. import time
  9. class MyHandler(SimpleHTTPRequestHandler):
  10. def __init__(self, *args, **kwargs):
  11. SimpleHTTPRequestHandler.__init__(self, *args, **kwargs)
  12. def get_state(self):
  13. self.send_response(200)
  14. self.send_header('Content-Type', 'application/json')
  15. self.end_headers()
  16. self.wfile.write(json.dumps({"state":"here is the state"}))
  17. def do_GET(self, *args, **kwargs):
  18. parsed_path = urlparse.urlparse(self.path)
  19. print parsed_path.path
  20. if parsed_path.path == "/state":
  21. return self.get_state()
  22. else:
  23. return SimpleHTTPRequestHandler.do_GET(self, *args, **kwargs)
  24. if __name__ == '__main__':
  25. port = int(sys.argv[1]) if len(sys.argv)==2 else 8000
  26. server = SocketServer.TCPServer(("127.0.0.1", port), MyHandler)
  27. print "Go to 127.0.0.0:{}".format(port)
  28. thread = threading.Thread(None, server.serve_forever)
  29. thread.daemon = True
  30. thread.start()
  31. time.sleep(5)
  32. print "Shutting down ... "
  33. server.shutdown()
  34. #thread.join()