You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.4 KiB
Python

import monero.seed
from quart import Blueprint, redirect, request, flash, render_template
from quart_auth import login_required
from lws.models import User
from lws.helpers import lws
from lws import config
bp = Blueprint("meta", "meta")
@bp.route("/")
async def index():
admin = User.select().first()
if not admin:
await flash("must setup admin first")
return redirect("/setup")
lws.init(admin.view_key)
accounts = lws.list_accounts()
if 'hidden' in accounts:
del accounts["hidden"]
requests = lws.list_requests()
return await render_template(
"index.html",
config=config,
accounts=accounts,
requests=requests
)
@bp.route("/utils")
async def utils():
return await render_template("utils/index.html")
@bp.route("/utils/mnemonic", methods=["GET", "POST"])
async def utils_mnemonic():
form = await request.form
if form:
seed = form.get("seed", "")
if not seed:
await flash("must provide mnemonic seed")
return redirect("/utils/mnemonic")
try:
s = monero.seed.Seed(seed)
return await render_template(
"utils/mnemonic.html",
results=s
)
except Exception as e:
print(f"failed to read mnemonic seed: {e}")
await flash("failed to parse mnemonic seed")
return await render_template("utils/mnemonic.html")