Fix cli printing data

This commit is contained in:
Iam54r1n4
2025-01-25 07:26:19 +00:00
parent a1ce9f4612
commit 0858e27a8c

View File

@ -1,11 +1,17 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
from datetime import datetime import typing
import click import click
import subprocess
import validator
import cli_api import cli_api
import json
def pretty_print(data: typing.Any):
if isinstance(data, dict):
print(json.dumps(data, indent=4))
return
print(data)
@click.group() @click.group()
@ -50,7 +56,7 @@ def restart_hysteria2():
@cli.command('change-hysteria2-port') @cli.command('change-hysteria2-port')
@click.option('--port', '-p', required=True, help='New port for Hysteria2', type=int, callback=validator.validate_port) @click.option('--port', '-p', required=True, help='New port for Hysteria2', type=int)
def change_hysteria2_port(port: int): def change_hysteria2_port(port: int):
try: try:
cli_api.change_hysteria2_port(port) cli_api.change_hysteria2_port(port)
@ -81,14 +87,19 @@ def backup_hysteria():
@ cli.command('list-users') @ cli.command('list-users')
def list_users(): def list_users():
cli_api.list_users() try:
if res := cli_api.list_users():
pretty_print(res)
except Exception as e:
click.echo(f'{e}', err=True)
@cli.command('get-user') @cli.command('get-user')
@click.option('--username', '-u', required=True, help='Username for the user to get', type=str) @click.option('--username', '-u', required=True, help='Username for the user to get', type=str)
def get_user(username: str): def get_user(username: str):
try: try:
cli_api.get_user(username) if res := cli_api.get_user(username):
pretty_print(res)
except Exception as e: except Exception as e:
click.echo(f'{e}', err=True) click.echo(f'{e}', err=True)
@ -167,7 +178,7 @@ def server_info():
try: try:
res = cli_api.server_info() res = cli_api.server_info()
if res: if res:
print(res) pretty_print(res)
except Exception as e: except Exception as e:
click.echo(f'{e}', err=True) click.echo(f'{e}', err=True)
@ -268,7 +279,7 @@ def warp_status():
try: try:
res = cli_api.warp_status() res = cli_api.warp_status()
if res: if res:
print(res) pretty_print(res)
except Exception as e: except Exception as e:
click.echo(f'{e}', err=True) click.echo(f'{e}', err=True)
@ -281,7 +292,7 @@ def telegram(action: str, token: str, adminid: str):
try: try:
res = cli_api.telegram(action, token, adminid) res = cli_api.telegram(action, token, adminid)
if res: if res:
print(res) pretty_print(res)
except Exception as e: except Exception as e:
click.echo(f'{e}', err=True) click.echo(f'{e}', err=True)
@ -294,7 +305,7 @@ def singbox(action: str, domain: str, port: int):
try: try:
res = cli_api.singbox(action, domain, port) res = cli_api.singbox(action, domain, port)
if res: if res:
print(res) pretty_print(res)
except Exception as e: except Exception as e:
click.echo(f'{e}', err=True) click.echo(f'{e}', err=True)
@ -307,7 +318,7 @@ def normalsub(action: str, domain: str, port: int):
try: try:
res = cli_api.normalsub(action, domain, port) res = cli_api.normalsub(action, domain, port)
if res: if res:
print(res) pretty_print(res)
except Exception as e: except Exception as e:
click.echo(f'{e}', err=True) click.echo(f'{e}', err=True)