searchquery.py 900 B

1234567891011121314151617181920212223242526272829303132333435
  1. from haystack.inputs import AutoQuery
  2. from haystack.query import SearchQuerySet, RelatedSearchQuerySet
  3. from misago.acl.exceptions import ACLError403, ACLError404
  4. from misago.models import Forum, Thread, Post, User
  5. class MisagoSearchQuerySet(object):
  6. def __init__(self, user, acl):
  7. self.user = user
  8. self.acl = acl
  9. def search_in(self, target):
  10. self.target = target
  11. try:
  12. self.allow_forum_search(target)
  13. except AttributeError:
  14. self.allow_thread_search(target)
  15. def allow_forum_search(self, target):
  16. raise Exception(dir(target))
  17. def allow_thread_search(self, target):
  18. pass
  19. @property
  20. def query(self):
  21. try:
  22. return self._searchquery
  23. except AttributeError:
  24. pass
  25. sqs = SearchQuerySet()
  26. self._searchquery = sqs
  27. return self._searchquery