From f5f683e070386fd75e2a21a09f1e5d6d7079065a Mon Sep 17 00:00:00 2001 From: TwDover Date: Fri, 1 May 2026 20:46:44 -0400 Subject: [PATCH] Warn when adding a domain that is already blocked --- usr/lib/linuxmint/mintnanny/mintnanny.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/usr/lib/linuxmint/mintnanny/mintnanny.py b/usr/lib/linuxmint/mintnanny/mintnanny.py index 9ef7922..ec3f472 100755 --- a/usr/lib/linuxmint/mintnanny/mintnanny.py +++ b/usr/lib/linuxmint/mintnanny/mintnanny.py @@ -110,6 +110,16 @@ def add_domain(self, widget): if len(domain.split(".")) == 2: # domain in the form 'domainname.extension' prefixes.append("www.") + + already_blocked = ["%s%s" % (p, domain) for p in prefixes if self.is_domain_blocked("%s%s" % (p, domain))] + if already_blocked: + dlg = Gtk.MessageDialog(type=Gtk.MessageType.ERROR, buttons=Gtk.ButtonsType.OK, message_format=_("Already Blocked")) + dlg.set_transient_for(self.window) + dlg.format_secondary_text(_("%s is already being blocked.") % already_blocked[0]) + dlg.run() + dlg.destroy() + return + for prefix in prefixes: full_domain = "%s%s" % (prefix, domain) iter = self.model.insert_before(None, None) @@ -136,6 +146,14 @@ def remove_domain(self, widget): sys.stdout.write(line) model.remove(iter) + def is_domain_blocked(self, domain): + model_iter = self.model.get_iter_first() + while model_iter is not None: + if self.model.get_value(model_iter, 0) == domain: + return True + model_iter = self.model.iter_next(model_iter) + return False + def is_valid_domain(self, domain): # Quick sanity check if domain == '' or "." not in domain: