remove unused search methods
authorJan Szejko <janek37@gmail.com>
Fri, 16 Feb 2018 16:35:28 +0000 (17:35 +0100)
committerJan Szejko <janek37@gmail.com>
Fri, 16 Feb 2018 16:35:28 +0000 (17:35 +0100)
src/search/index.py
src/search/mock_search.py
src/search/tests/index.py

index bfb1739..4c278ea 100644 (file)
@@ -790,100 +790,6 @@ class Search(SolrIndex):
 
         return snips
 
-    def hint_tags(self, query, pdcounter=True, prefix=True):
-        """
-        Return auto-complete hints for tags
-        using prefix search.
-        """
-        q = self.index.Q()
-        query = query.strip()
-        for field in ['tag_name', 'tag_name_pl']:
-            if prefix:
-                q |= self.index.Q(**{field: query + "*"})
-            else:
-                q |= self.make_term_query(query, field=field)
-        qu = self.index.query(q)
-
-        return self.search_tags(qu, pdcounter=pdcounter)
-
-    def search_tags(self, query, filters=None, pdcounter=False):
-        """
-        Search for Tag objects using query.
-        """
-        if not filters:
-            filters = []
-        if not pdcounter:
-            filters.append(~self.index.Q(is_pdcounter=True))
-        res = self.apply_filters(query, filters).execute()
-
-        tags = []
-        pd_tags = []
-
-        for doc in res:
-            is_pdcounter = doc.get('is_pdcounter', False)
-            category = doc.get('tag_category')
-            try:
-                if is_pdcounter:
-                    if category == 'pd_author':
-                        tag = PDCounterAuthor.objects.get(id=doc.get('tag_id'))
-                    else:  # category == 'pd_book':
-                        tag = PDCounterBook.objects.get(id=doc.get('tag_id'))
-                        tag.category = 'pd_book'  # make it look more lik a tag.
-                    pd_tags.append(tag)
-                else:
-                    tag = catalogue.models.Tag.objects.get(id=doc.get("tag_id"))
-                    tags.append(tag)
-
-            except catalogue.models.Tag.DoesNotExist:
-                pass
-            except PDCounterAuthor.DoesNotExist:
-                pass
-            except PDCounterBook.DoesNotExist:
-                pass
-
-        tags_slugs = set(map(lambda t: t.slug, tags))
-        tags = tags + filter(lambda t: t.slug not in tags_slugs, pd_tags)
-
-        log.debug('search_tags: %s' % tags)
-
-        return tags
-
-    def hint_books(self, query, prefix=True):
-        """
-        Returns auto-complete hints for book titles
-        Because we do not index 'pseudo' title-tags.
-        Prefix search.
-        """
-        q = self.index.Q()
-        query = query.strip()
-        if prefix:
-            q |= self.index.Q(title=query + "*")
-            q |= self.index.Q(title_orig=query + "*")
-        else:
-            q |= self.make_term_query(query, field='title')
-            q |= self.make_term_query(query, field='title_orig')
-        qu = self.index.query(q)
-        only_books = self.index.Q(is_book=True)
-        return self.search_books(qu, [only_books])
-
-    def search_books(self, query, filters=None, max_results=10):
-        """
-        Searches for Book objects using query
-        """
-        bks = []
-        bks_found = set()
-        query = query.query(is_book=True)
-        res = self.apply_filters(query, filters).field_limit(['book_id'])
-        for r in res:
-            try:
-                bid = r['book_id']
-                if bid not in bks_found:
-                    bks.append(catalogue.models.Book.objects.get(id=bid))
-                    bks_found.add(bid)
-            except catalogue.models.Book.DoesNotExist:
-                pass
-        return bks
-
     @staticmethod
     def apply_filters(query, filters):
         """
index 3bd7b93..344e79f 100644 (file)
@@ -36,15 +36,6 @@ class Search(Mock):
             results.append(res)
         return results
 
-    # WTF
-    def search_books(self, query, filters=None, max_results=10):
-        return self._find_some_books(max_results=max_results)
-
     def search_everywhere(self, searched, query_terms=None):
         return []
 
-    def hint_tags(self, query, pdcounter=True, prefix=True):
-        return Tag.objects.exclude(category='set').order_by('?')[:randint(1, 10)]
-
-    def hint_books(self, prefix):
-        return Book.objects.order_by('?')[:randint(1, 10)]
index d11ff7b..2af1d30 100644 (file)
@@ -30,17 +30,6 @@ class BookSearchTests(WLTestCase):
         self.do_anusie = Book.from_xml_file(
             get_fixture('fraszka-do-anusie.xml', catalogue))
 
-    def test_search_perfect_book_author(self):
-        books = self.search.search_books(self.search.index.query(authors=u"sęp szarzyński"))
-        assert len(books) == 1
-        assert books[0].id == self.do_anusie.id
-
-        # here we lack slop functionality as well
-    def test_search_perfect_book_title(self):
-        books = self.search.search_books(self.search.index.query(title=u"fraszka do anusie"))
-        assert len(books) == 1
-        assert books[0].id == self.do_anusie.id
-
     # TODO: Add slop option to sunburnt
     # def test_search_perfect_parts(self):
     #     books = self.search.search_phrase(u"Jakoż hamować")