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