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