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

1import pathlib 

2 

3import click 

4 

5from compiler_admin import Result 

6from compiler_admin.services.google import GoogleAccount, GoogleArchive, GoogleUsers 

7 

8 

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}" 

15 

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) 

19 

20 click.echo(f"Found backup, starting restore process with dest: {GoogleUsers.USER_ARCHIVE} for account: {account}") 

21 

22 GoogleArchive().restore_email_backup(account=account, backup_dir=backup_dir) 

23 

24 click.echo(f"Email restore complete for: {account}")