summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2014-04-16 10:46:22 -0300
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2014-04-16 10:46:22 -0300
commit27738dbd35d2a2d8d0fc71be61a4192c6dc200f1 (patch)
tree366cbc7fad05c6c68c0e8baeada488285d996294
parent3265dfbce63f8801adfa4500353ce88539f0fa93 (diff)
downloadaskbot-27738dbd35d2a2d8d0fc71be61a4192c6dc200f1.tar.gz
askbot-27738dbd35d2a2d8d0fc71be61a4192c6dc200f1.tar.bz2
askbot-27738dbd35d2a2d8d0fc71be61a4192c6dc200f1.zip
added tag cleaning to mark tags function
-rw-r--r--askbot/forms.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/askbot/forms.py b/askbot/forms.py
index 671500bf..645341aa 100644
--- a/askbot/forms.py
+++ b/askbot/forms.py
@@ -69,12 +69,14 @@ def clean_marked_tagnames(tagnames):
if tagname == '':
continue
if tagname.endswith('*'):
- if tagname.count('*') > 1:
+ if tagname.count('*') > 1 or len(tagname) == 1:
continue
else:
- wildcards.append(tagname)
+ base_tag = tagname[:-1]
+ cleaned_base_tag = clean_tag(base_tag, look_in_db=False)
+ wildcards.append(cleaned_base_tag + '*')
else:
- pure_tags.append(tagname)
+ pure_tags.append(clean_tag(tagname))
return pure_tags, wildcards
@@ -354,7 +356,7 @@ class AnswerEditorField(EditorField):
self.min_length = askbot_settings.MIN_ANSWER_BODY_LENGTH
-def clean_tag(tag_name):
+def clean_tag(tag_name, look_in_db=True):
"""a function that cleans a single tag name"""
tag_length = len(tag_name)
if tag_length > askbot_settings.MAX_TAG_LENGTH:
@@ -383,6 +385,8 @@ def clean_tag(tag_name):
if askbot_settings.FORCE_LOWERCASE_TAGS:
#a simpler way to handle tags - just lowercase thew all
return tag_name.lower()
+ elif look_in_db == False:
+ return tag_name
else:
from askbot import models
matching_tags = models.Tag.objects.filter(name__iexact=tag_name)