minor fix

This commit is contained in:
2025-09-10 18:25:42 +08:00
parent e6cb116c9d
commit 185b2abae4

10
main.py
View File

@@ -45,8 +45,7 @@ parser.add_argument('-r', '--attempts', type=int, default=3)
args = parser.parse_args() args = parser.parse_args()
inbox, outbox = Queue(), Queue() inbox, outbox = Queue(), Queue()
connection = None connection, server = None, None
socket = None
class Greetings: class Greetings:
def __init__(self, locale: str, timezone: str, default: str, morning=None, afternoon=None, evening=None, predicate=None): def __init__(self, locale: str, timezone: str, default: str, morning=None, afternoon=None, evening=None, predicate=None):
@@ -93,10 +92,10 @@ def main(driver: WebDriver):
try: try:
html = str(Path('index.html').resolve()) html = str(Path('index.html').resolve())
driver.get(html) driver.get(html)
host, port = socket.getsockname() endpoint = server.listeners[0]
parameters = vars(args) parameters = vars(args)
locales = json.dumps(Greetings.presets(), default=lambda o: o.__dict__) locales = json.dumps(Greetings.presets(), default=lambda o: o.__dict__)
driver.execute_script(f"main(...arguments);", f'ws://{host}:{port}', parameters, locales) driver.execute_script(f"main(...arguments);", f'ws://{endpoint.address}:{endpoint.port}', parameters, locales)
except Exception as e: except Exception as e:
tell('载入初始页面时发生错误', e, level=0) tell('载入初始页面时发生错误', e, level=0)
return 1 return 1
@@ -562,10 +561,9 @@ async def handler(request: ws.WebSocketRequest):
inbox.shutdown(immediate=True) inbox.shutdown(immediate=True)
async def backend(listen='127.0.0.1', port=0): async def backend(listen='127.0.0.1', port=0):
global socket global server
listeners = await trio.open_tcp_listeners(port, host=listen) listeners = await trio.open_tcp_listeners(port, host=listen)
server = ws.WebSocketServer(handler, listeners, max_message_size=125_000_000) server = ws.WebSocketServer(handler, listeners, max_message_size=125_000_000)
socket = listeners[0].socket
await server.run() await server.run()
if __name__ == '__main__': if __name__ == '__main__':