mirror of
https://github.com/onyx-and-iris/q3rcon-tui.git
synced 2026-04-08 21:23:30 +00:00
add command timings
This commit is contained in:
@@ -10,6 +10,15 @@ from .writable import Writable
|
|||||||
|
|
||||||
class Q3RconTUI(App):
|
class Q3RconTUI(App):
|
||||||
CSS_PATH = 'q3rcon_tui.tcss'
|
CSS_PATH = 'q3rcon_tui.tcss'
|
||||||
|
CMD_CONFIG = {
|
||||||
|
'status': (2, 0.25, False),
|
||||||
|
'fast_restart': (3, 1, True),
|
||||||
|
'map_restart': (3, 1, True),
|
||||||
|
'map': (3, 1, True),
|
||||||
|
'map_rotate': (3, 1, True),
|
||||||
|
}
|
||||||
|
DEFAULT_TIMEOUT = 2
|
||||||
|
DEFAULT_FRAGMENT_READ_TIMEOUT = 0.25
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
@@ -65,11 +74,20 @@ class Q3RconTUI(App):
|
|||||||
self.app.bell()
|
self.app.bell()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
timeout, fragment_read_timeout, interpret = Q3RconTUI.CMD_CONFIG.get(
|
||||||
|
cmd.split()[0].lower(),
|
||||||
|
(Q3RconTUI.DEFAULT_TIMEOUT, Q3RconTUI.DEFAULT_FRAGMENT_READ_TIMEOUT, False),
|
||||||
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
async with Client(
|
async with Client(
|
||||||
self._settings.host, self._settings.port, self._settings.password
|
self._settings.host,
|
||||||
|
self._settings.port,
|
||||||
|
self._settings.password,
|
||||||
|
timeout=timeout,
|
||||||
|
fragment_read_timeout=fragment_read_timeout,
|
||||||
) as client:
|
) as client:
|
||||||
response = await client.send_command(cmd)
|
response = await client.send_command(cmd, interpret=interpret)
|
||||||
self.query_one('#response', RichLog).write(
|
self.query_one('#response', RichLog).write(
|
||||||
self.writable.parse(cmd, response)
|
self.writable.parse(cmd, response)
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user