restore python 3.7 client compat
This commit is contained in:
parent
b57dd3c454
commit
829c9c2045
|
@ -9,6 +9,8 @@ import functools
|
||||||
import webbrowser
|
import webbrowser
|
||||||
import multiprocessing
|
import multiprocessing
|
||||||
import socket
|
import socket
|
||||||
|
import sys
|
||||||
|
import typing
|
||||||
|
|
||||||
from random import randrange
|
from random import randrange
|
||||||
|
|
||||||
|
@ -23,7 +25,7 @@ ModuleUpdate.update()
|
||||||
import colorama
|
import colorama
|
||||||
import websockets
|
import websockets
|
||||||
import prompt_toolkit
|
import prompt_toolkit
|
||||||
import typing
|
|
||||||
from prompt_toolkit.patch_stdout import patch_stdout
|
from prompt_toolkit.patch_stdout import patch_stdout
|
||||||
from NetUtils import Endpoint
|
from NetUtils import Endpoint
|
||||||
import WebUI
|
import WebUI
|
||||||
|
@ -35,8 +37,10 @@ import Utils
|
||||||
def create_named_task(coro, *args, name=None):
|
def create_named_task(coro, *args, name=None):
|
||||||
if not name:
|
if not name:
|
||||||
name = coro.__name__
|
name = coro.__name__
|
||||||
print(name)
|
if sys.version_info.major > 2 and sys.version_info.minor > 7:
|
||||||
return asyncio.create_task(coro, *args, name=name)
|
return asyncio.create_task(coro, *args, name=name)
|
||||||
|
else:
|
||||||
|
return asyncio.create_task(coro, *args)
|
||||||
|
|
||||||
|
|
||||||
class Context():
|
class Context():
|
||||||
|
@ -1289,16 +1293,16 @@ async def main():
|
||||||
asyncio.create_task(run_game(romfile))
|
asyncio.create_task(run_game(romfile))
|
||||||
|
|
||||||
ctx = Context(args.snes, args.connect, args.password, args.founditems, port)
|
ctx = Context(args.snes, args.connect, args.password, args.founditems, port)
|
||||||
input_task = asyncio.create_task(console_loop(ctx), name="Input")
|
input_task = create_named_task(console_loop(ctx), name="Input")
|
||||||
if not args.disable_web_ui:
|
if not args.disable_web_ui:
|
||||||
ui_socket = websockets.serve(functools.partial(websocket_server, ctx=ctx),
|
ui_socket = websockets.serve(functools.partial(websocket_server, ctx=ctx),
|
||||||
'localhost', port, ping_timeout=None, ping_interval=None)
|
'localhost', port, ping_timeout=None, ping_interval=None)
|
||||||
await ui_socket
|
await ui_socket
|
||||||
|
|
||||||
if ctx.server_task is None:
|
if ctx.server_task is None:
|
||||||
ctx.server_task = asyncio.create_task(server_loop(ctx), name="ServerLoop")
|
ctx.server_task = create_named_task(server_loop(ctx), name="ServerLoop")
|
||||||
|
|
||||||
watcher_task = asyncio.create_task(game_watcher(ctx), name="GameWatcher")
|
watcher_task = create_named_task(game_watcher(ctx), name="GameWatcher")
|
||||||
|
|
||||||
await ctx.exit_event.wait()
|
await ctx.exit_event.wait()
|
||||||
ctx.server_address = None
|
ctx.server_address = None
|
||||||
|
|
5
WebUI.py
5
WebUI.py
|
@ -5,6 +5,7 @@ import socket
|
||||||
import socketserver
|
import socketserver
|
||||||
import threading
|
import threading
|
||||||
import webbrowser
|
import webbrowser
|
||||||
|
import asyncio
|
||||||
from functools import partial
|
from functools import partial
|
||||||
|
|
||||||
from NetUtils import Node
|
from NetUtils import Node
|
||||||
|
@ -43,6 +44,9 @@ class WebUiClient(Node):
|
||||||
self.broadcast_all(self.build_message('chat', message))
|
self.broadcast_all(self.build_message('chat', message))
|
||||||
|
|
||||||
def send_connection_status(self, ctx: Context):
|
def send_connection_status(self, ctx: Context):
|
||||||
|
asyncio.create_task(self._send_connection_status(ctx))
|
||||||
|
|
||||||
|
async def _send_connection_status(self, ctx: Context):
|
||||||
cache = Utils.persistent_load()
|
cache = Utils.persistent_load()
|
||||||
cached_address = cache["servers"]["default"] if cache else None
|
cached_address = cache["servers"]["default"] if cache else None
|
||||||
server_address = ctx.server_address if ctx.server_address else cached_address if cached_address else None
|
server_address = ctx.server_address if ctx.server_address else cached_address if cached_address else None
|
||||||
|
@ -53,7 +57,6 @@ class WebUiClient(Node):
|
||||||
'serverAddress': server_address,
|
'serverAddress': server_address,
|
||||||
'server': 1 if ctx.server is not None and not ctx.server.socket.closed else 0,
|
'server': 1 if ctx.server is not None and not ctx.server.socket.closed else 0,
|
||||||
}))
|
}))
|
||||||
|
|
||||||
def send_device_list(self, devices):
|
def send_device_list(self, devices):
|
||||||
self.broadcast_all(self.build_message('availableDevices', {
|
self.broadcast_all(self.build_message('availableDevices', {
|
||||||
'devices': devices,
|
'devices': devices,
|
||||||
|
|
Loading…
Reference in New Issue