31 lines
775 B
Python
31 lines
775 B
Python
from subprocess import PIPE, STDOUT, Popen, run
|
|
from typing import Callable, List, Optional, Tuple
|
|
from re import Pattern
|
|
|
|
|
|
minecraftOutputBinds: List[Tuple[Pattern, Callable]] = []
|
|
minecraftProc = None
|
|
|
|
|
|
def minecraftInit(cmd: str) -> None:
|
|
global minecraftProc
|
|
minecraftProc = Popen(cmd.split(), stdin=PIPE, stdout=PIPE,
|
|
stderr=STDOUT, text=True, bufsize=1)
|
|
|
|
|
|
class Group:
|
|
def __init__(self, name: str, id: str):
|
|
self.name = name
|
|
self.id = id
|
|
|
|
def __repr__(self) -> str:
|
|
return f'<Group "{self.name}" at "{self.id}">'
|
|
|
|
|
|
signalMessageBinds: List[Tuple[Optional[Group], Callable]] = []
|
|
signalProc = None
|
|
|
|
|
|
def signalInit(cmd: str) -> None:
|
|
global signalProc
|
|
signalProc = run(cmd.split(), stdout=PIPE)
|