From 39290dba08c5e453cdab9dabfb4b5bec62d40f55 Mon Sep 17 00:00:00 2001 From: Hari Date: Wed, 6 May 2026 17:36:55 +0530 Subject: [PATCH 1/2] add clear-all-urls functionality --- src/contentfilter/main.py | 24 +++++++++++++++++++++++ src/contentfilter/templates/settings.html | 6 ++++++ 2 files changed, 30 insertions(+) diff --git a/src/contentfilter/main.py b/src/contentfilter/main.py index 6eebc64..d8fa7e0 100644 --- a/src/contentfilter/main.py +++ b/src/contentfilter/main.py @@ -281,4 +281,28 @@ async def import_json( return redir_resp +@webapp.post("/clear/", name="clear_urls") +async def clear_urls( + request: Request, + username: str = AuthDependency, +): + redir_resp = RedirectResponse( + request.url_for("settings"), status_code=http.HTTPStatus.FOUND + ) + try: + num_urls = len(database) + database.clear() + if num_urls: + flash( + request, + f"Successfully deleted {num_urls} blocked URL(s) from the list", + "success", + ) + else: + flash(request, "The list was already empty", "info") + except Exception as exc: + flash(request, f"Unable to clear URLs: {exc}.", "danger") + return redir_resp + + app.mount(Conf.webroot_prefix, webapp) diff --git a/src/contentfilter/templates/settings.html b/src/contentfilter/templates/settings.html index 75e76c2..08282a0 100644 --- a/src/contentfilter/templates/settings.html +++ b/src/contentfilter/templates/settings.html @@ -19,6 +19,12 @@

Import from file

+

Clear all URLs

+

Remove all blocked URLs from your list. This action cannot be undone.

+
+ +
+

Settings

From 15e7b9de4936038bec44fbc19216d99fd5149238 Mon Sep 17 00:00:00 2001 From: Hari Date: Wed, 6 May 2026 18:48:56 +0530 Subject: [PATCH 2/2] rename api endpoint for clear_all_urls --- src/contentfilter/main.py | 6 +++--- src/contentfilter/templates/settings.html | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/contentfilter/main.py b/src/contentfilter/main.py index d8fa7e0..d3b5c01 100644 --- a/src/contentfilter/main.py +++ b/src/contentfilter/main.py @@ -281,7 +281,7 @@ async def import_json( return redir_resp -@webapp.post("/clear/", name="clear_urls") +@webapp.post("/remove/all", name="remove_all_urls") async def clear_urls( request: Request, username: str = AuthDependency, @@ -295,13 +295,13 @@ async def clear_urls( if num_urls: flash( request, - f"Successfully deleted {num_urls} blocked URL(s) from the list", + f"Successfully removed {num_urls} blocked URL(s) from the list", "success", ) else: flash(request, "The list was already empty", "info") except Exception as exc: - flash(request, f"Unable to clear URLs: {exc}.", "danger") + flash(request, f"Unable to remove URLs: {exc}.", "danger") return redir_resp diff --git a/src/contentfilter/templates/settings.html b/src/contentfilter/templates/settings.html index 08282a0..283d229 100644 --- a/src/contentfilter/templates/settings.html +++ b/src/contentfilter/templates/settings.html @@ -19,10 +19,10 @@

Import from file

-

Clear all URLs

+

Delete all URLs

Remove all blocked URLs from your list. This action cannot be undone.

-
- + +