2022-08-14 00:54:22 +00:00
|
|
|
import secrets
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
|
|
import click
|
|
|
|
|
2022-08-18 01:20:52 +00:00
|
|
|
from advlabdb import data_dir
|
|
|
|
|
2022-08-14 00:54:22 +00:00
|
|
|
|
|
|
|
def _generate_secrets():
|
2022-08-18 01:20:52 +00:00
|
|
|
file = data_dir / "secrets.ini"
|
2022-08-14 00:54:22 +00:00
|
|
|
|
|
|
|
if file.is_file():
|
|
|
|
click.echo(f"Skipping secrets generation because the secrets file does already exist at {file}.")
|
|
|
|
return
|
|
|
|
|
|
|
|
with open(file, "w") as f:
|
|
|
|
f.write("[Secrets]\n")
|
|
|
|
|
|
|
|
key = secrets.SystemRandom().getrandbits(128)
|
|
|
|
f.write(f"SECRET_KEY = {key}\n")
|
|
|
|
|
|
|
|
salt = secrets.token_hex()
|
|
|
|
f.write(f"SECURITY_PASSWORD_SALT = {salt}\n")
|