From 1c010b455aa3a65147c13ad532bbb29be76a7831 Mon Sep 17 00:00:00 2001 From: Jonathan Piacenti Date: Sun, 2 Nov 2014 20:34:59 -0600 Subject: [PATCH] Added the ability to clear tags by category. --- 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 3dd61c0220..330b9e342c 100644 --- a/evennia/typeclasses/tags.py +++ b/evennia/typeclasses/tags.py @@ -149,9 +149,15 @@ class TagHandler(object): getattr(self.obj, self._m2m_fieldname).remove(tagobj[0]) self._recache() - def clear(self): - "Remove all tags from the handler" - getattr(self.obj, self._m2m_fieldname).clear() + def clear(self, category=None): + """ + Remove all tags from the handle. Optionally, only remove those within + a certain category. + """ + if not category: + getattr(self.obj, self._m2m_fieldname).clear() + else: + getattr(self.obj, self._m2m_fieldname).filter(db_category=category).delete() self._recache() def all(self, category=None, return_key_and_category=False):