From 8cce8e4da4d97a0b9d809298791f88fc80fa86e8 Mon Sep 17 00:00:00 2001 From: ChrisLR Date: Sat, 3 Oct 2020 13:21:53 -0400 Subject: [PATCH] Handle the case where tag is not provided and raise a ValueError if neither are provided. --- evennia/typeclasses/tags.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/evennia/typeclasses/tags.py b/evennia/typeclasses/tags.py index f3c3d6d15e..d6e58fbee3 100644 --- a/evennia/typeclasses/tags.py +++ b/evennia/typeclasses/tags.py @@ -336,12 +336,18 @@ class TagHandler(object): """ ret = [] category = category.strip().lower() if category is not None else None - for tag_str in make_iter(tag): - tag_str = tag_str.strip().lower() - ret.extend(bool(tag) for tag in self._getcache(tag_str, category)) + if tag: + for tag_str in make_iter(tag): + tag_str = tag_str.strip().lower() + ret.extend(bool(tag) for tag in self._getcache(tag_str, category)) + elif category: + ret.extend(bool(tag) for tag in self._getcache(category=category)) + else: + raise ValueError("Either tag or category must be provided.") if return_list: return ret + return ret[0] if len(ret) == 1 else ret def get(self, key=None, default=None, category=None, return_tagobj=False, return_list=False):