updates to the Console classes:

- added ErrConsole
- import console as namespace throughout the package
- swap out the static methods for instance methods.

Wrap the entry point in try/except.
Note, catching IncorrectPasswordError is currently not working. See https://github.com/Iapetus-11/aio-q3-rcon/issues/4
This commit is contained in:
2026-03-22 04:10:53 +00:00
parent 9a4fefcbbb
commit bfb45efb32
11 changed files with 64 additions and 46 deletions

View File

@@ -2,7 +2,7 @@ from aioq3rcon import Client
from clypi import Command, arg
from typing_extensions import override
from q3rcon_cli.console import Console
from q3rcon_cli import console
class Fastrestart(Command):
@@ -16,4 +16,4 @@ class Fastrestart(Command):
async def run(self):
async with Client(self.host, self.port, self.password) as client:
if response := await client.send_command('fast_restart'):
Console.print_response(response)
console.out.print_response(response)

View File

@@ -2,7 +2,7 @@ from aioq3rcon import Client
from clypi import Command, Positional, Spinner, arg
from typing_extensions import override
from q3rcon_cli.console import Console
from q3rcon_cli import console
class Gametype(Command):
@@ -26,7 +26,7 @@ class Gametype(Command):
if not Gametype.new_gametype:
async with Client(self.host, self.port, self.password) as client:
if response := await client.send_command('g_gametype'):
Console.print_cvar(response)
console.out.print_cvar(response)
return
async with Client(self.host, self.port, self.password) as client:
@@ -40,4 +40,4 @@ class Gametype(Command):
client.fragment_read_timeout = DEFAULT_FRAGMENT_READ_TIMEOUT
if response := await client.send_command('g_gametype'):
Console.print_cvar(response)
console.out.print_cvar(response)

View File

@@ -2,7 +2,7 @@ from aioq3rcon import Client
from clypi import Command, Positional, arg
from typing_extensions import override
from q3rcon_cli.console import Console
from q3rcon_cli import console
class Hostname(Command):
@@ -21,10 +21,10 @@ class Hostname(Command):
if not self.new_hostname:
async with Client(self.host, self.port, self.password) as client:
if response := await client.send_command('sv_hostname'):
Console.print_cvar(response)
console.out.print_cvar(response)
return
async with Client(self.host, self.port, self.password) as client:
await client.send_command(f'sv_hostname {self.new_hostname}')
if response := await client.send_command('sv_hostname'):
Console.print_cvar(response)
console.out.print_cvar(response)

View File

@@ -2,7 +2,7 @@ from aioq3rcon import Client
from clypi import Command, Positional, Spinner, arg
from typing_extensions import override
from q3rcon_cli.console import Console
from q3rcon_cli import console
class Map(Command):
@@ -21,7 +21,7 @@ class Map(Command):
if not self.new_map:
async with Client(self.host, self.port, self.password) as client:
if response := await client.send_command('mapname'):
Console.print_cvar(response)
console.out.print_cvar(response)
return
async with Spinner('Changing map...'):
@@ -30,4 +30,4 @@ class Map(Command):
) as client:
await client.send_command(f'map mp_{self.new_map.removeprefix("mp_")}')
if response := await client.send_command('mapname'):
Console.print_cvar(response)
console.out.print_cvar(response)

View File

@@ -2,7 +2,7 @@ from aioq3rcon import Client
from clypi import Command, arg
from typing_extensions import override
from q3rcon_cli.console import Console
from q3rcon_cli import console
class Mapname(Command):
@@ -16,4 +16,4 @@ class Mapname(Command):
async def run(self):
async with Client(self.host, self.port, self.password) as client:
if response := await client.send_command('mapname'):
Console.print_cvar(response)
console.out.print_cvar(response)

View File

@@ -2,7 +2,7 @@ from aioq3rcon import Client
from clypi import Command, Spinner, arg
from typing_extensions import override
from q3rcon_cli.console import Console
from q3rcon_cli import console
class Maprestart(Command):
@@ -19,4 +19,4 @@ class Maprestart(Command):
self.host, self.port, self.password, fragment_read_timeout=1
) as client:
if response := await client.send_command('map_restart'):
Console.print_response(response)
console.out.print_response(response)

View File

@@ -2,7 +2,7 @@ from aioq3rcon import Client
from clypi import Command, Spinner, arg
from typing_extensions import override
from q3rcon_cli.console import Console
from q3rcon_cli import console
class Maprotate(Command):
@@ -19,4 +19,4 @@ class Maprotate(Command):
self.host, self.port, self.password, fragment_read_timeout=1
) as client:
if response := await client.send_command('map_rotate'):
Console.print_response(response)
console.out.print_response(response)

View File

@@ -2,7 +2,7 @@ from aioq3rcon import Client
from clypi import Command, arg
from typing_extensions import override
from q3rcon_cli.console import Console
from q3rcon_cli import console
class Plugins(Command):
@@ -16,4 +16,4 @@ class Plugins(Command):
async def run(self):
async with Client(self.host, self.port, self.password) as client:
if response := await client.send_command('plugins'):
Console.print_response(response)
console.out.print_response(response)

View File

@@ -2,7 +2,7 @@ from aioq3rcon import Client
from clypi import Command, Spinner, arg
from typing_extensions import override
from q3rcon_cli.console import Console
from q3rcon_cli import console
class Status(Command):
@@ -19,4 +19,4 @@ class Status(Command):
self.host, self.port, self.password, fragment_read_timeout=0.5
) as client:
if response := await client.send_command('status'):
Console.print_status(response)
console.out.print_status(response)