From b2f5d68ca69a7dfd443118ef0280f129a430d50d Mon Sep 17 00:00:00 2001 From: Michael Pimmer Date: Mon, 10 Dec 2018 13:51:10 +0100 Subject: [PATCH] Backups: allow creating archive in unmounted repository - mount repository if necessary before creating an archive Reviewed-by: James Valleroy --- plinth/modules/backups/repository.py | 4 ++-- plinth/modules/backups/views.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/plinth/modules/backups/repository.py b/plinth/modules/backups/repository.py index a2b586266..eaf6c6cd1 100644 --- a/plinth/modules/backups/repository.py +++ b/plinth/modules/backups/repository.py @@ -359,9 +359,9 @@ def get_ssh_repositories(): return repositories -def get_repository(uuid): +def get_repository(uuid, automount=False): """Get a repository (BorgRepository or SshBorgRepository)""" if uuid == ROOT_REPOSITORY_UUID: return BorgRepository(path=ROOT_REPOSITORY) else: - return SshBorgRepository(uuid=uuid, automount=False) + return SshBorgRepository(uuid=uuid, automount=automount) diff --git a/plinth/modules/backups/views.py b/plinth/modules/backups/views.py index 7fb34e2dc..03080d58d 100644 --- a/plinth/modules/backups/views.py +++ b/plinth/modules/backups/views.py @@ -92,7 +92,8 @@ class CreateArchiveView(SuccessMessageMixin, FormView): def form_valid(self, form): """Create the archive on valid form submission.""" - repository = get_repository(form.cleaned_data['repository']) + repository = get_repository(form.cleaned_data['repository'], + automount=True) name = datetime.now().strftime('%Y-%m-%d:%H:%M') repository.create_archive(name, form.cleaned_data['selected_apps']) return super().form_valid(form)