class SearchProvider:
    def __init__(self, request):
        self.request = request

    def allow_search(self):
        pass

    def search(self, query, page=1):
        raise NotImplementedError(
            "%s has to define search(query, page=1) method" % self.__class__.__name__
        )
