diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2014-04-16 10:46:22 -0300 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2014-04-16 10:46:22 -0300 |
commit | 27738dbd35d2a2d8d0fc71be61a4192c6dc200f1 (patch) | |
tree | 366cbc7fad05c6c68c0e8baeada488285d996294 | |
parent | 3265dfbce63f8801adfa4500353ce88539f0fa93 (diff) | |
download | askbot-27738dbd35d2a2d8d0fc71be61a4192c6dc200f1.tar.gz askbot-27738dbd35d2a2d8d0fc71be61a4192c6dc200f1.tar.bz2 askbot-27738dbd35d2a2d8d0fc71be61a4192c6dc200f1.zip |
added tag cleaning to mark tags function
-rw-r--r-- | askbot/forms.py | 12 |
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) |