From 846808d8705842c57d6f597db51268e6726f7107 Mon Sep 17 00:00:00 2001 From: Pedro Lima Date: Sun, 10 Aug 2025 09:20:03 +0100 Subject: [PATCH] Ignore tags with just whitespace (#1125) --- bookmarks/models.py | 2 +- bookmarks/tests/test_tags_model.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/bookmarks/models.py b/bookmarks/models.py index 15fa0fa..fe7efce 100644 --- a/bookmarks/models.py +++ b/bookmarks/models.py @@ -40,7 +40,7 @@ def parse_tag_string(tag_string: str, delimiter: str = ","): return [] names = tag_string.strip().split(delimiter) # remove empty names, sanitize remaining names - names = [sanitize_tag_name(name) for name in names if name] + names = [sanitize_tag_name(name) for name in names if name.strip()] # remove duplicates names = unique(names, str.lower) names.sort(key=str.lower) diff --git a/bookmarks/tests/test_tags_model.py b/bookmarks/tests/test_tags_model.py index 5771f7c..b32fc8b 100644 --- a/bookmarks/tests/test_tags_model.py +++ b/bookmarks/tests/test_tags_model.py @@ -40,6 +40,11 @@ class TagTestCase(TestCase): self.assertCountEqual( parse_tag_string("book,,movie,,,album"), ["album", "book", "movie"] ) + + def test_parse_tag_string_handles_duplicate_separators_with_spaces(self): + self.assertCountEqual( + parse_tag_string("book, ,movie, , ,album"), ["album", "book", "movie"] + ) def test_parse_tag_string_replaces_whitespace_within_names(self): self.assertCountEqual(