diff options
author | Adolfo Fitoria <adolfo.fitoria@gmail.com> | 2012-01-31 10:12:13 -0300 |
---|---|---|
committer | Adolfo Fitoria <adolfo.fitoria@gmail.com> | 2012-01-31 10:12:13 -0300 |
commit | c5d25081f97e511e45a47f48e92835a817aaee90 (patch) | |
tree | 48235e89571b5b3b5d4725190abb882ab175c212 | |
parent | 0319ef93b3b29eea546bd7b1466efae8e756869d (diff) | |
parent | 0f84818c1daa7c6c8c07f3da544a5844a7c7b434 (diff) | |
download | askbot-c5d25081f97e511e45a47f48e92835a817aaee90.tar.gz askbot-c5d25081f97e511e45a47f48e92835a817aaee90.tar.bz2 askbot-c5d25081f97e511e45a47f48e92835a817aaee90.zip |
Merge branch 'master' of github.com:ASKBOT/askbot-devel
-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() + ) + + |