Make API change so TagHandler.all() returns all tag-keys regardless of category; the now single argument return_key_and_category still returns (key, category) tuples. For category-selective returns, use TagHandler.get(). Resolves #1124.
This commit is contained in:
parent
1e22b89447
commit
45a4d01a0a
1 changed files with 6 additions and 9 deletions
|
|
@ -65,10 +65,10 @@ class Tag(models.Model):
|
||||||
index_together = (('db_key', 'db_category', 'db_tagtype'),)
|
index_together = (('db_key', 'db_category', 'db_tagtype'),)
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return u"<Tag: %s>" % self.db_key
|
return u"<Tag: %s%s>" % (self.db_key, "(category:%s)" % self.db_category if self.db_category else "")
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str("<Tag: %s>" % self.db_key)
|
return str("<Tag: %s%s>" % (self.db_key, "(category:%s)" % self.db_category if self.db_category else ""))
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
@ -279,7 +279,7 @@ class TagHandler(object):
|
||||||
"""
|
"""
|
||||||
ret = []
|
ret = []
|
||||||
for keystr in make_iter(key):
|
for keystr in make_iter(key):
|
||||||
ret.extend([tag if return_tagobj else tag.db_key
|
ret.extend([tag if return_tagobj else to_str(tag.db_key)
|
||||||
for tag in self._getcache(key, category)])
|
for tag in self._getcache(key, category)])
|
||||||
return ret[0] if len(ret) == 1 else (ret if ret else default)
|
return ret[0] if len(ret) == 1 else (ret if ret else default)
|
||||||
|
|
||||||
|
|
@ -325,14 +325,11 @@ class TagHandler(object):
|
||||||
self._catcache = {}
|
self._catcache = {}
|
||||||
self._cache_complete = False
|
self._cache_complete = False
|
||||||
|
|
||||||
def all(self, category=None, return_key_and_category=False):
|
def all(self, return_key_and_category=False):
|
||||||
"""
|
"""
|
||||||
Get all tags in this handler.
|
Get all tags in this handler, regardless of category.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
category (str, optional): The Tag category to limit the
|
|
||||||
request to. Note that `None` is the valid, default
|
|
||||||
category.
|
|
||||||
return_key_and_category (bool, optional): Return a list of
|
return_key_and_category (bool, optional): Return a list of
|
||||||
tuples `[(key, category), ...]`.
|
tuples `[(key, category), ...]`.
|
||||||
|
|
||||||
|
|
@ -344,7 +341,7 @@ class TagHandler(object):
|
||||||
"""
|
"""
|
||||||
if not self._cache_complete:
|
if not self._cache_complete:
|
||||||
self._fullcache()
|
self._fullcache()
|
||||||
tags = sorted(self._getcache(None, category), key=lambda o:o.id)
|
tags = sorted(self._cache.values())
|
||||||
if return_key_and_category:
|
if return_key_and_category:
|
||||||
# return tuple (key, category)
|
# return tuple (key, category)
|
||||||
return [(to_str(tag.db_key), to_str(tag.db_category)) for tag in tags]
|
return [(to_str(tag.db_key), to_str(tag.db_category)) for tag in tags]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue