Coverage for compiler_admin / commands / user / restore.py: 100%
15 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-28 05:48 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-28 05:48 +0000
1import pathlib
3import click
5from compiler_admin import Result
6from compiler_admin.services.google import GoogleAccount, GoogleArchive, GoogleUsers
9@click.command()
10@click.argument("username")
11def restore(username: str):
12 """Restore an email backup from a prior offboarding."""
13 account = GoogleAccount(username)
14 backup_dir = f"GYB-GMail-Backup-{account}"
16 if not pathlib.Path(backup_dir).exists():
17 click.echo(f"Couldn't find a local backup: {backup_dir}")
18 raise SystemExit(Result.FAILURE)
20 click.echo(f"Found backup, starting restore process with dest: {GoogleUsers.USER_ARCHIVE} for account: {account}")
22 GoogleArchive().restore_email_backup(account=account, backup_dir=backup_dir)
24 click.echo(f"Email restore complete for: {account}")