|
|
|
@ -44,7 +44,12 @@ cli.add_typer(token_cli, name="token") |
|
|
|
|
server_cli = typer.Typer(help="Commands to interact with SporeStack servers") |
|
|
|
|
cli.add_typer(server_cli, name="server") |
|
|
|
|
|
|
|
|
|
logging.basicConfig(level=logging.INFO) |
|
|
|
|
_log_level = os.getenv("LOG_LEVEL", "info").upper() |
|
|
|
|
_numeric_log_level = getattr(logging, _log_level, None) |
|
|
|
|
if _numeric_log_level is None: |
|
|
|
|
raise ValueError(f"LOG_LEVEL: {_log_level} is invalid. Aborting!") |
|
|
|
|
assert isinstance(_numeric_log_level, int) |
|
|
|
|
logging.basicConfig(level=_numeric_log_level) |
|
|
|
|
|
|
|
|
|
DEFAULT_TOKEN = "primary" |
|
|
|
|
DEFAULT_FLAVOR = "vps-1vcpu-1gb" |
|
|
|
@ -760,6 +765,44 @@ def token_list() -> None: |
|
|
|
|
typer.echo(f"{token}: {key}") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@token_cli.command() |
|
|
|
|
def messages(token: str = typer.Argument(DEFAULT_TOKEN)) -> None: |
|
|
|
|
""" |
|
|
|
|
Show support messages. |
|
|
|
|
""" |
|
|
|
|
token = load_token(token) |
|
|
|
|
|
|
|
|
|
from .api_client import APIClient |
|
|
|
|
from .client import Client |
|
|
|
|
|
|
|
|
|
api_client = APIClient(api_endpoint=get_api_endpoint()) |
|
|
|
|
client = Client(api_client=api_client, client_token=token) |
|
|
|
|
|
|
|
|
|
for message in client.token.messages(): |
|
|
|
|
typer.echo() |
|
|
|
|
typer.echo(message.message) |
|
|
|
|
typer.echo() |
|
|
|
|
typer.echo(f"Sent at {message.sent_at}, by {message.sender.value}") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@token_cli.command() |
|
|
|
|
def send_message( |
|
|
|
|
token: str = typer.Argument(DEFAULT_TOKEN), message: str = typer.Option(...) |
|
|
|
|
) -> None: |
|
|
|
|
""" |
|
|
|
|
Send a support message. |
|
|
|
|
""" |
|
|
|
|
token = load_token(token) |
|
|
|
|
|
|
|
|
|
from .api_client import APIClient |
|
|
|
|
from .client import Client |
|
|
|
|
|
|
|
|
|
api_client = APIClient(api_endpoint=get_api_endpoint()) |
|
|
|
|
client = Client(api_client=api_client, client_token=token) |
|
|
|
|
|
|
|
|
|
client.token.send_message(message) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@cli.command() |
|
|
|
|
def version() -> None: |
|
|
|
|
""" |
|
|
|
|