Adding quick server checker.
This commit is contained in:
@@ -3,12 +3,14 @@ from packetserver.client.cli.config import get_config, default_app_dir, config_p
|
|||||||
from packetserver.client.cli.constants import DEFAULT_DB_FILE
|
from packetserver.client.cli.constants import DEFAULT_DB_FILE
|
||||||
from packetserver.client import Client
|
from packetserver.client import Client
|
||||||
from packetserver.common.constants import yes_values
|
from packetserver.common.constants import yes_values
|
||||||
|
from packetserver.common import Request, Response
|
||||||
from packetserver.client.cli.util import format_list_dicts, exit_client
|
from packetserver.client.cli.util import format_list_dicts, exit_client
|
||||||
import ZODB
|
import ZODB
|
||||||
import ZODB.FileStorage
|
import ZODB.FileStorage
|
||||||
import ax25
|
import ax25
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
|
import json
|
||||||
import os.path
|
import os.path
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from packetserver.client import Client
|
from packetserver.client import Client
|
||||||
@@ -86,6 +88,25 @@ def cli(ctx, conf, server, agwpe, port, callsign):
|
|||||||
ctx.obj['bbs'] = server
|
ctx.obj['bbs'] = server
|
||||||
ctx.obj['db'] = db
|
ctx.obj['db'] = db
|
||||||
|
|
||||||
|
@click.command()
|
||||||
|
@click.pass_context
|
||||||
|
def query_server(ctx):
|
||||||
|
"""Query the server for basic info."""
|
||||||
|
client = ctx.obj['client']
|
||||||
|
req = Request.blank()
|
||||||
|
req.path = ""
|
||||||
|
req.method = Request.Method.GET
|
||||||
|
resp = client.send_receive_callsign(req, ctx.obj['bbs'])
|
||||||
|
if resp is None:
|
||||||
|
click.echo(f"No response from {ctx.obj['bbs']}")
|
||||||
|
exit_client(client, 1)
|
||||||
|
else:
|
||||||
|
if resp.status_code != 200:
|
||||||
|
exit_client(client, 1, message=f"Error contacting server: {resp.payload}")
|
||||||
|
else:
|
||||||
|
click.echo(json.dumps(resp.payload, indent=2))
|
||||||
|
exit_client(client, 0)
|
||||||
|
|
||||||
|
|
||||||
@click.command()
|
@click.command()
|
||||||
@click.argument('username', required=False, default='')
|
@click.argument('username', required=False, default='')
|
||||||
@@ -118,6 +139,7 @@ def user(ctx, list_users, output_format, username):
|
|||||||
exit_client(client, 0)
|
exit_client(client, 0)
|
||||||
|
|
||||||
cli.add_command(user)
|
cli.add_command(user)
|
||||||
|
cli.add_command(query_server)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
cli()
|
cli()
|
||||||
|
|||||||
Reference in New Issue
Block a user