Fix cli printing data
This commit is contained in:
35
core/cli.py
35
core/cli.py
@ -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)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user