diff options
author | Duda Dornelles <ddornell@thoughtworks.com> | 2014-10-17 14:46:39 +0200 |
---|---|---|
committer | Duda Dornelles <ddornell@thoughtworks.com> | 2014-10-17 14:46:39 +0200 |
commit | 790b641f5709bf5ac40c6c1151395ce7c18fa8fb (patch) | |
tree | 955d8a24c66e618ce88411abf6731fe2f1710ea9 | |
parent | 362040299d52a33a2cf61f0a6e1111ec70a5263b (diff) |
improving matching for filtering tags and fixing pep8 warnings
-rw-r--r-- | service/pixelated/adapter/search.py | 10 | ||||
-rw-r--r-- | service/pixelated/support/functional.py | 2 | ||||
-rw-r--r-- | service/test/integration/search_test.py | 9 |
3 files changed, 8 insertions, 13 deletions
diff --git a/service/pixelated/adapter/search.py b/service/pixelated/adapter/search.py index cd02f09b..a187b444 100644 --- a/service/pixelated/adapter/search.py +++ b/service/pixelated/adapter/search.py @@ -35,7 +35,7 @@ class SearchEngine(object): self._index = self._create_index() def _add_to_tags(self, tags, group, skip_default_tags, count_type, query=None): - query_matcher = re.compile(query) if query else re.compile(".*") + query_matcher = re.compile(".*%s.*" % query.lower()) if query else re.compile(".*") for tag, count in group.iteritems(): @@ -111,7 +111,7 @@ class SearchEngine(object): header = mdict['header'] tags = mdict.get('tags', []) tags.append(mail.mailbox_name.lower()) - + index_data = { 'sender': unicode(header.get('from', '')), 'subject': unicode(header.get('subject', '')), @@ -140,11 +140,7 @@ class SearchEngine(object): def search(self, query, window=25, page=1, all_mails=False): query = self.prepare_query(query) - - if(all_mails): - return self._search_all_mails(query) - else: - return self._paginated_search_mails(query, window, page) + return self._search_all_mails(query) if all_mails else self._paginated_search_mails(query, window, page) def _search_all_mails(self, query): with self._index.searcher() as searcher: diff --git a/service/pixelated/support/functional.py b/service/pixelated/support/functional.py index 8d258635..734eba0b 100644 --- a/service/pixelated/support/functional.py +++ b/service/pixelated/support/functional.py @@ -23,4 +23,4 @@ def flatten(_list): def unique(_list): seen = set() seen_add = seen.add - return [ x for x in _list if not (x in seen or seen_add(x))] + return [x for x in _list if not (x in seen or seen_add(x))] diff --git a/service/test/integration/search_test.py b/service/test/integration/search_test.py index 04151b55..ac91f0b0 100644 --- a/service/test/integration/search_test.py +++ b/service/test/integration/search_test.py @@ -40,7 +40,7 @@ class SearchTest(unittest.TestCase, SoledadTestBase): self.assertTrue('important' in all_tag_names) def test_that_tags_are_filtered_by_query(self): - input_mail = MailBuilder().with_tags(['ateu', 'atoa', 'atado', 'zuado']).build_input_mail() + input_mail = MailBuilder().with_tags(['ateu', 'catoa', 'luat', 'zuado']).build_input_mail() self.add_mail_to_inbox(input_mail) all_tags = self.get_tags('?q=at&skipDefaultTags=true') @@ -48,8 +48,8 @@ class SearchTest(unittest.TestCase, SoledadTestBase): all_tag_names = [t['name'] for t in all_tags] self.assertEqual(3, len(all_tag_names)) self.assertTrue('ateu' in all_tag_names) - self.assertTrue('atoa' in all_tag_names) - self.assertTrue('atado' in all_tag_names) + self.assertTrue('catoa' in all_tag_names) + self.assertTrue('luat' in all_tag_names) def test_that_default_tags_are_ignorable(self): input_mail = MailBuilder().with_tags(['sometag']).build_input_mail() @@ -83,7 +83,7 @@ class SearchTest(unittest.TestCase, SoledadTestBase): first_page = self.get_mails_by_tag('inbox', page=1, window=1) self.assertEqual(len(first_page), 1) - + def test_search_mails_with_multiple_pages(self): input_mail = MailBuilder().build_input_mail() input_mail2 = MailBuilder().build_input_mail() @@ -108,4 +108,3 @@ class SearchTest(unittest.TestCase, SoledadTestBase): for tag in tags_count: if tag['name'] == mailbox: return tag['counts'] - |