ret_list keyword argument is added to tags_strings method to enable returning lists also instead of strings.
authorMadhusudan.C.S <madhusudancs@gmail.com>
Fri, 18 Sep 2009 21:59:42 +0530
changeset 2950 ceec88091db8
parent 2949 22ec1c2e6621
child 2951 c904033c58e1
ret_list keyword argument is added to tags_strings method to enable returning lists also instead of strings.
app/taggable/taggable.py
--- a/app/taggable/taggable.py	Fri Sep 18 18:39:00 2009 +0200
+++ b/app/taggable/taggable.py	Fri Sep 18 21:59:42 2009 +0530
@@ -148,7 +148,6 @@
     specified entity.
     """
 
-    
     if self._tags[tag_name] is None or len(self._tags[tag_name]) == 0:
       self._tags[tag_name] = self._tag_model[
           tag_name].get_tags_for_key(self.key())
@@ -222,11 +221,17 @@
 
     self.tag_separator = ", "
 
-  def tags_string(self, tag_name):
-    "Create a formatted string version of this entity's tags"
-    to_str = ""
-    for each_tag in tag_name:
-      to_str += each_tag.tag
-      if each_tag != tag_name[-1]:
-        to_str += self.tag_separator
-    return to_str
+  def tags_string(self, tag_name, ret_list=False):
+    """Create a formatted string version of this entity's tags.
+    
+    Args:
+      tag_name: the name of the tag which must be formatted
+      ret_list: if False sends a string, otherwise sends a Python list
+    """
+
+    tag_list = [each_tag.tag for each_tag in tag_name]
+
+    if ret_list:
+      return tag_list
+    else:
+      return self.tag_separator.join(tag_list)