Clients: allow use of console input if stdin is available.
Such as unfrozen + gui
This commit is contained in:
parent
b0bf66bdcb
commit
82de3c95e2
|
@ -595,14 +595,15 @@ if __name__ == '__main__':
|
||||||
async def main(args):
|
async def main(args):
|
||||||
ctx = TextContext(args.connect, args.password)
|
ctx = TextContext(args.connect, args.password)
|
||||||
ctx.server_task = asyncio.create_task(server_loop(ctx), name="server loop")
|
ctx.server_task = asyncio.create_task(server_loop(ctx), name="server loop")
|
||||||
|
input_task = None
|
||||||
if gui_enabled:
|
if gui_enabled:
|
||||||
input_task = None
|
|
||||||
from kvui import TextManager
|
from kvui import TextManager
|
||||||
ctx.ui = TextManager(ctx)
|
ctx.ui = TextManager(ctx)
|
||||||
ui_task = asyncio.create_task(ctx.ui.async_run(), name="UI")
|
ui_task = asyncio.create_task(ctx.ui.async_run(), name="UI")
|
||||||
else:
|
else:
|
||||||
input_task = asyncio.create_task(console_loop(ctx), name="Input")
|
|
||||||
ui_task = None
|
ui_task = None
|
||||||
|
if sys.stdin:
|
||||||
|
input_task = asyncio.create_task(console_loop(ctx), name="Input")
|
||||||
await ctx.exit_event.wait()
|
await ctx.exit_event.wait()
|
||||||
|
|
||||||
await ctx.shutdown()
|
await ctx.shutdown()
|
||||||
|
@ -614,7 +615,7 @@ if __name__ == '__main__':
|
||||||
|
|
||||||
import colorama
|
import colorama
|
||||||
|
|
||||||
parser = get_base_parser(description="Gameless Archipelago Client, for text interfaction.")
|
parser = get_base_parser(description="Gameless Archipelago Client, for text interfacing.")
|
||||||
|
|
||||||
args, rest = parser.parse_known_args()
|
args, rest = parser.parse_known_args()
|
||||||
colorama.init()
|
colorama.init()
|
||||||
|
|
|
@ -5,6 +5,7 @@ import json
|
||||||
import string
|
import string
|
||||||
import copy
|
import copy
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import sys
|
||||||
import time
|
import time
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
@ -294,14 +295,15 @@ async def factorio_spinup_server(ctx: FactorioContext) -> bool:
|
||||||
async def main(args):
|
async def main(args):
|
||||||
ctx = FactorioContext(args.connect, args.password)
|
ctx = FactorioContext(args.connect, args.password)
|
||||||
ctx.server_task = asyncio.create_task(server_loop(ctx), name="ServerLoop")
|
ctx.server_task = asyncio.create_task(server_loop(ctx), name="ServerLoop")
|
||||||
|
input_task = None
|
||||||
if gui_enabled:
|
if gui_enabled:
|
||||||
input_task = None
|
|
||||||
from kvui import FactorioManager
|
from kvui import FactorioManager
|
||||||
ctx.ui = FactorioManager(ctx)
|
ctx.ui = FactorioManager(ctx)
|
||||||
ui_task = asyncio.create_task(ctx.ui.async_run(), name="UI")
|
ui_task = asyncio.create_task(ctx.ui.async_run(), name="UI")
|
||||||
else:
|
else:
|
||||||
input_task = asyncio.create_task(console_loop(ctx), name="Input")
|
|
||||||
ui_task = None
|
ui_task = None
|
||||||
|
if sys.stdin:
|
||||||
|
input_task = asyncio.create_task(console_loop(ctx), name="Input")
|
||||||
factorio_server_task = asyncio.create_task(factorio_spinup_server(ctx), name="FactorioSpinupServer")
|
factorio_server_task = asyncio.create_task(factorio_spinup_server(ctx), name="FactorioSpinupServer")
|
||||||
succesful_launch = await factorio_server_task
|
succesful_launch = await factorio_server_task
|
||||||
if succesful_launch:
|
if succesful_launch:
|
||||||
|
|
|
@ -1091,15 +1091,15 @@ async def main():
|
||||||
ctx = Context(args.snes, args.connect, args.password)
|
ctx = Context(args.snes, args.connect, args.password)
|
||||||
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 = asyncio.create_task(server_loop(ctx), name="ServerLoop")
|
||||||
|
input_task = None
|
||||||
if gui_enabled:
|
if gui_enabled:
|
||||||
input_task = None
|
|
||||||
from kvui import SNIManager
|
from kvui import SNIManager
|
||||||
ctx.ui = SNIManager(ctx)
|
ctx.ui = SNIManager(ctx)
|
||||||
ui_task = asyncio.create_task(ctx.ui.async_run(), name="UI")
|
ui_task = asyncio.create_task(ctx.ui.async_run(), name="UI")
|
||||||
else:
|
else:
|
||||||
input_task = asyncio.create_task(console_loop(ctx), name="Input")
|
|
||||||
ui_task = None
|
ui_task = None
|
||||||
|
if sys.stdin:
|
||||||
|
input_task = asyncio.create_task(console_loop(ctx), name="Input")
|
||||||
|
|
||||||
snes_connect_task = asyncio.create_task(snes_connect(ctx, ctx.snes_address), name="SNES Connect")
|
snes_connect_task = asyncio.create_task(snes_connect(ctx, ctx.snes_address), name="SNES Connect")
|
||||||
watcher_task = asyncio.create_task(game_watcher(ctx), name="GameWatcher")
|
watcher_task = asyncio.create_task(game_watcher(ctx), name="GameWatcher")
|
||||||
|
|
Loading…
Reference in New Issue