web.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/usr/bin/env python3
  2. import os
  3. import json
  4. from datetime import datetime
  5. from websocket_server import WebsocketServer
  6. from qmanager import qManager
  7. import urllib
  8. # Port on which server will run.
  9. PORT = 8080
  10. BASE_PATH='/backend/' #changes based on webserver
  11. last_msg = datetime.now()
  12. def send_status(server, client=None, force=False):
  13. global last_msg
  14. if client is None and not force:
  15. if (datetime.now() - last_msg).total_seconds() < 2:
  16. return
  17. last_msg = datetime.now()
  18. #status = { 'SEARCH': q.search_status(), 'BOOKS': q.books_status()}
  19. status = None
  20. if client is None:
  21. ws.send_message_to_all(json.dumps(status))
  22. else:
  23. server.send_message(client, json.dumps(status))
  24. def new_client(client, server):
  25. send_status(server, client)
  26. def message_received(client, server, message):
  27. j = json.loads(message)
  28. print(j)
  29. if j['type'].upper() == 'SEARCH':
  30. #q.new_search(j['book'], j['extension'])
  31. pass
  32. if j['type'].upper() == 'BOOK':
  33. pass
  34. send_status(server)
  35. def updated(force=False):
  36. send_status(ws, force=force)
  37. if __name__ == '__main__':
  38. ws = WebsocketServer(8081, host='127.0.0.1')
  39. ws.set_fn_new_client(new_client)
  40. ws.set_fn_message_received(message_received)
  41. ws.run_forever()