mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 12:56:30 +01:00
CI: PostgreSQL fails unless tag integers are always strings
This commit is contained in:
parent
d72a46ef4b
commit
4f9383ee33
2 changed files with 16 additions and 3 deletions
|
|
@ -278,7 +278,7 @@ class TypedObjectManager(idmapper.manager.SharedMemoryManager):
|
|||
than `key`.
|
||||
|
||||
"""
|
||||
if not (key or category):
|
||||
if key is None and category is None:
|
||||
return []
|
||||
|
||||
global _Tag
|
||||
|
|
@ -287,8 +287,16 @@ class TypedObjectManager(idmapper.manager.SharedMemoryManager):
|
|||
|
||||
anymatch = "any" == kwargs.get("match", "all").lower().strip()
|
||||
|
||||
keys = make_iter(key) if key else []
|
||||
categories = make_iter(category) if category else []
|
||||
_normalize_tag_value = lambda value: (
|
||||
str(value).strip().lower() if value is not None else None
|
||||
)
|
||||
|
||||
keys = [_normalize_tag_value(val) for val in make_iter(key)] if key is not None else []
|
||||
categories = (
|
||||
[_normalize_tag_value(val) for val in make_iter(category)]
|
||||
if category is not None
|
||||
else []
|
||||
)
|
||||
n_keys = len(keys)
|
||||
n_categories = len(categories)
|
||||
unique_categories = set(categories)
|
||||
|
|
|
|||
|
|
@ -204,6 +204,11 @@ class TestTypedObjectManager(BaseEvenniaTest):
|
|||
[],
|
||||
)
|
||||
|
||||
def test_get_by_tag_with_integer_key_and_category(self):
|
||||
self.obj1.tags.add(123, 456)
|
||||
self.assertEqual(self._manager("get_by_tag", 123, 456), [self.obj1])
|
||||
self.assertEqual(self._manager("get_by_tag", "123", "456"), [self.obj1])
|
||||
|
||||
def test_batch_add(self):
|
||||
tags = ["tag1", ("tag2", "category2"), "tag3", ("tag4", "category4", "data4")]
|
||||
self.obj1.tags.batch_add(*tags)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue