Fix up to work with python 3.4 and 3.5

This commit is contained in:
Tim Bentley 2016-06-06 21:27:55 +01:00
parent ad485bd2c9
commit ba1eac8cd3
1 changed files with 60 additions and 28 deletions

View File

@ -29,6 +29,7 @@ import asyncio
import websockets
import logging
import time
import sys
from PyQt5 import QtCore
@ -110,34 +111,65 @@ class OpenWSServer(RegistryProperties, OpenLPMixin):
loop += 1
time.sleep(0.1)
@staticmethod
async def handle_websocket(request, path):
"""
Handle web socket requests and return the poll information.
Check ever 0.5 seconds to get the latest postion and send if changed.
Only gets triggered when 1st client attaches
:param request: request from client
:param path: not used - future to register for a different end point
:return:
"""
log.debug("web socket handler registered with client")
previous_poll = None
previous_main_poll = None
openlppoll = Registry().get('OpenLPPoll')
if path == '/poll':
while True:
current_poll = openlppoll.poll()
if current_poll != previous_poll:
await request.send(current_poll)
previous_poll = current_poll
await asyncio.sleep(0.2)
elif path == '/main_poll':
while True:
main_poll = openlppoll.main_poll()
if main_poll != previous_main_poll:
await request.send(main_poll)
previous_main_poll = main_poll
await asyncio.sleep(0.2)
if sys.version_info >= (3, 5):
@staticmethod
async def handle_websocket(request, path):
"""
Handle web socket requests and return the poll information.
Check ever 0.5 seconds to get the latest postion and send if changed.
Only gets triggered when 1st client attaches
:param request: request from client
:param path: not used - future to register for a different end point
:return:
"""
log.debug("web socket handler registered with client")
previous_poll = None
previous_main_poll = None
openlppoll = Registry().get('OpenLPPoll')
if path == '/poll':
while True:
current_poll = openlppoll.poll()
if current_poll != previous_poll:
await request.send(current_poll)
previous_poll = current_poll
await asyncio.sleep(0.2)
elif path == '/main_poll':
while True:
main_poll = openlppoll.main_poll()
if main_poll != previous_main_poll:
await request.send(main_poll)
previous_main_poll = main_poll
await asyncio.sleep(0.2)
else:
@staticmethod
@asyncio.coroutine
def handle_websocket(request, path):
"""
Handle web socket requests and return the poll information.
Check ever 0.5 seconds to get the latest postion and send if changed.
Only gets triggered when 1st client attaches
:param request: request from client
:param path: not used - future to register for a different end point
:return:
"""
log.debug("web socket handler registered with client")
previous_poll = None
previous_main_poll = None
openlppoll = Registry().get('OpenLPPoll')
if path == '/poll':
while True:
current_poll = openlppoll.poll()
if current_poll != previous_poll:
yield from request.send(current_poll)
previous_poll = current_poll
yield from asyncio.sleep(0.2)
elif path == '/main_poll':
while True:
main_poll = openlppoll.main_poll()
if main_poll != previous_main_poll:
yield from request.send(main_poll)
previous_main_poll = main_poll
yield from asyncio.sleep(0.2)
def stop_server(self):
"""