diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2012-01-29 19:58:34 -0300 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2012-01-29 19:58:34 -0300 |
commit | 0f84818c1daa7c6c8c07f3da544a5844a7c7b434 (patch) | |
tree | 0c3b3d83e9823d9096cb64460a36596b5f30177e | |
parent | f34d72018f9eb9dc8b3d5bf314477ab601d7fee5 (diff) | |
parent | f0b5ced5169c863f2349ec0cd5ea6c765b472a91 (diff) | |
download | askbot-0f84818c1daa7c6c8c07f3da544a5844a7c7b434.tar.gz askbot-0f84818c1daa7c6c8c07f3da544a5844a7c7b434.tar.bz2 askbot-0f84818c1daa7c6c8c07f3da544a5844a7c7b434.zip |
Merge branch 'wikipost'
-rw-r--r-- | askbot/search/state_manager.py | 8 | ||||
-rw-r--r-- | askbot/tests/search_state_tests.py | 16 |
2 files changed, 23 insertions, 1 deletions
diff --git a/askbot/search/state_manager.py b/askbot/search/state_manager.py index 232d64e9..ee46501e 100644 --- a/askbot/search/state_manager.py +++ b/askbot/search/state_manager.py @@ -117,7 +117,13 @@ class SearchState(object): else: self.sort = sort - self.tags = [t.strip() for t in tags.split(const.TAG_SEP)] if tags else [] + self.tags = [] + if tags: + for t in tags.split(const.TAG_SEP): + tag = t.strip() + if tag not in self.tags: + self.tags.append(tag) + self.author = int(author) if author else None self.page = int(page) if page else 1 if self.page == 0: # in case someone likes jokes :) diff --git a/askbot/tests/search_state_tests.py b/askbot/tests/search_state_tests.py index aca989fc..18f5eb36 100644 --- a/askbot/tests/search_state_tests.py +++ b/askbot/tests/search_state_tests.py @@ -275,3 +275,19 @@ class SearchStateTests(AskbotTestCase): ss = SearchState.get_empty().add_tag('double').add_tag('double') self.assertListEqual(['double'], ss.tags) + def test_prevent_dupped_tags(self): + ss = SearchState( + scope=None, + sort=None, + query=None, + tags='valid1,dupped,valid2,dupped', + author=None, + page=None, + user_logged_in=False + ) + self.assertEqual( + 'scope:all/sort:activity-desc/tags:valid1,dupped,valid2/page:1/', + ss.query_string() + ) + + |