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):
 | 
			
		||||
        ctx = TextContext(args.connect, args.password)
 | 
			
		||||
        ctx.server_task = asyncio.create_task(server_loop(ctx), name="server loop")
 | 
			
		||||
        input_task = None
 | 
			
		||||
        if gui_enabled:
 | 
			
		||||
            input_task = None
 | 
			
		||||
            from kvui import TextManager
 | 
			
		||||
            ctx.ui = TextManager(ctx)
 | 
			
		||||
            ui_task = asyncio.create_task(ctx.ui.async_run(), name="UI")
 | 
			
		||||
        else:
 | 
			
		||||
            input_task = asyncio.create_task(console_loop(ctx), name="Input")
 | 
			
		||||
            ui_task = None
 | 
			
		||||
        if sys.stdin:
 | 
			
		||||
            input_task = asyncio.create_task(console_loop(ctx), name="Input")
 | 
			
		||||
        await ctx.exit_event.wait()
 | 
			
		||||
 | 
			
		||||
        await ctx.shutdown()
 | 
			
		||||
| 
						 | 
				
			
			@ -614,7 +615,7 @@ if __name__ == '__main__':
 | 
			
		|||
 | 
			
		||||
    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()
 | 
			
		||||
    colorama.init()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,6 +5,7 @@ import json
 | 
			
		|||
import string
 | 
			
		||||
import copy
 | 
			
		||||
import subprocess
 | 
			
		||||
import sys
 | 
			
		||||
import time
 | 
			
		||||
import random
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -294,14 +295,15 @@ async def factorio_spinup_server(ctx: FactorioContext) -> bool:
 | 
			
		|||
async def main(args):
 | 
			
		||||
    ctx = FactorioContext(args.connect, args.password)
 | 
			
		||||
    ctx.server_task = asyncio.create_task(server_loop(ctx), name="ServerLoop")
 | 
			
		||||
    input_task = None
 | 
			
		||||
    if gui_enabled:
 | 
			
		||||
        input_task = None
 | 
			
		||||
        from kvui import FactorioManager
 | 
			
		||||
        ctx.ui = FactorioManager(ctx)
 | 
			
		||||
        ui_task = asyncio.create_task(ctx.ui.async_run(), name="UI")
 | 
			
		||||
    else:
 | 
			
		||||
        input_task = asyncio.create_task(console_loop(ctx), name="Input")
 | 
			
		||||
        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")
 | 
			
		||||
    succesful_launch = await factorio_server_task
 | 
			
		||||
    if succesful_launch:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1091,15 +1091,15 @@ async def main():
 | 
			
		|||
    ctx = Context(args.snes, args.connect, args.password)
 | 
			
		||||
    if ctx.server_task is None:
 | 
			
		||||
        ctx.server_task = asyncio.create_task(server_loop(ctx), name="ServerLoop")
 | 
			
		||||
 | 
			
		||||
    input_task = None
 | 
			
		||||
    if gui_enabled:
 | 
			
		||||
        input_task = None
 | 
			
		||||
        from kvui import SNIManager
 | 
			
		||||
        ctx.ui = SNIManager(ctx)
 | 
			
		||||
        ui_task = asyncio.create_task(ctx.ui.async_run(), name="UI")
 | 
			
		||||
    else:
 | 
			
		||||
        input_task = asyncio.create_task(console_loop(ctx), name="Input")
 | 
			
		||||
        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")
 | 
			
		||||
    watcher_task = asyncio.create_task(game_watcher(ctx), name="GameWatcher")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue