Make tag search and assignment case insensitive (#56)

* Make tag assignment and search case-insensitive (#45)

* Add tests for tag case-sensitivity and deduplication (#45)

Co-authored-by: Sascha Ißbrücker <sissbruecker@lyska.io>
This commit is contained in:
Sascha Ißbrücker
2021-01-02 11:30:20 +01:00
committed by GitHub
parent f98c89e99d
commit 9df270557f
8 changed files with 102 additions and 8 deletions

View File

@@ -4,6 +4,8 @@ from django import forms
from django.contrib.auth import get_user_model
from django.db import models
from bookmarks.utils import unique
class Tag(models.Model):
name = models.CharField(max_length=64)
@@ -18,7 +20,8 @@ def parse_tag_string(tag_string: str, delimiter: str = ','):
if not tag_string:
return []
names = tag_string.strip().split(delimiter)
names = [name for name in names if name]
names = [name.strip() for name in names if name]
names = unique(names, str.lower)
names.sort(key=str.lower)
return names