Delete stale tokens, add `manage` subcommand.

This commit is contained in:
grym 2022-12-14 18:15:58 -05:00
parent d64fe67df0
commit 882972a92e
1 changed files with 6 additions and 4 deletions

10
oxo.py
View File

@ -188,21 +188,23 @@ def manage(
):
token_files = token_cache_dir.glob("*.token")
tokens = []
good_tokens = []
for t in token_files:
try:
tokens.append(TokenData(**json.loads(t.read_text())))
good_tokens.append(t)
except Exception as e:
typer.secho(f"Ignoring {t}: {e}", err=True, fg=typer.colors.YELLOW)
with httpx.Client() as client:
for t in tokens:
for token, token_file in zip(tokens, good_tokens):
if delete:
try:
res = client.post(
base_url, files=dict(token=(None, t.token), delete=(None, ""))
token.oxo_url, data=dict(token=token.token, delete="")
)
res.raise_for_status()
typer.echo(res.text.strip())
t.unlink()
typer.echo(f"Removed stale token {t}")
token_file.unlink()
typer.echo(f"Removed stale token {token_file}")
except Exception as e:
typer.secho(e, err=True, fg=typer.colors.RED)