mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-09-19 04:59:01 +00:00
gitweb: Completely uninstall app, remove repositories
Tests: 1. Install app, create a repository 2. Reinstall app and confirm the repository is removed Signed-off-by: nbenedek <contact@nbenedek.me> [sunil: Update docstrings, make uninstall fail-safe] Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
This commit is contained in:
parent
615c47e49f
commit
53f4edb016
@ -127,6 +127,11 @@ class GitwebApp(app_module.App):
|
|||||||
privileged.setup()
|
privileged.setup()
|
||||||
self.enable()
|
self.enable()
|
||||||
|
|
||||||
|
def uninstall(self):
|
||||||
|
"""De-configure and uninstall the app."""
|
||||||
|
super().uninstall()
|
||||||
|
privileged.uninstall()
|
||||||
|
|
||||||
|
|
||||||
class GitwebWebserverAuth(Webserver):
|
class GitwebWebserverAuth(Webserver):
|
||||||
"""Component to handle Gitweb authentication webserver configuration."""
|
"""Component to handle Gitweb authentication webserver configuration."""
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
import configparser
|
import configparser
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import pathlib
|
||||||
import re
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
@ -386,3 +387,10 @@ def delete_repo(name: str):
|
|||||||
repo = validate_repo_name(name)
|
repo = validate_repo_name(name)
|
||||||
repo_path = os.path.join(GIT_REPO_PATH, repo)
|
repo_path = os.path.join(GIT_REPO_PATH, repo)
|
||||||
shutil.rmtree(repo_path)
|
shutil.rmtree(repo_path)
|
||||||
|
|
||||||
|
|
||||||
|
@privileged
|
||||||
|
def uninstall():
|
||||||
|
"""Remove git repositories."""
|
||||||
|
for item in pathlib.Path(GIT_REPO_PATH).glob('*'):
|
||||||
|
shutil.rmtree(item, ignore_errors=True)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user