From a5283771e0d1b6c986ae618078457dc16da3ef05 Mon Sep 17 00:00:00 2001 From: nbenedek Date: Mon, 27 Mar 2023 21:32:48 +0200 Subject: [PATCH] calibre: Remove libraries during uninstallation Test: 1. Install Calibre, add a few books and libraries 2. Uninstall, then install Calibre 3. The default Library is present and empty Signed-off-by: nbenedek Reviewed-by: Sunil Mohan Adapa --- plinth/modules/calibre/__init__.py | 7 ++++++- plinth/modules/calibre/privileged.py | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/plinth/modules/calibre/__init__.py b/plinth/modules/calibre/__init__.py index db83d6850..86106e361 100644 --- a/plinth/modules/calibre/__init__.py +++ b/plinth/modules/calibre/__init__.py @@ -16,7 +16,7 @@ from plinth.modules.users.components import UsersAndGroups from plinth.package import Packages from plinth.utils import format_lazy -from . import manifest +from . import manifest, privileged _description = [ format_lazy( @@ -106,6 +106,11 @@ class CalibreApp(app_module.App): if not old_version: self.enable() + def uninstall(self): + """De-configure and uninstall the app.""" + super().uninstall() + privileged.uninstall() + def validate_library_name(library_name): """Raise exception if library name does not fit the accepted pattern.""" diff --git a/plinth/modules/calibre/privileged.py b/plinth/modules/calibre/privileged.py index 88db062fc..962f2f575 100644 --- a/plinth/modules/calibre/privileged.py +++ b/plinth/modules/calibre/privileged.py @@ -45,3 +45,9 @@ def delete_library(name: str): library = LIBRARIES_PATH / name shutil.rmtree(library) action_utils.service_try_restart(calibre.CalibreApp.DAEMON) + + +@privileged +def uninstall(): + """Remove all libraries during uninstall.""" + shutil.rmtree(LIBRARIES_PATH)