Exemple #1
0
    def setup_cache(self,
                    backend='mongo',
                    database=None,
                    use_compression=True,
                    **kwargs):
        """
        Setup cache.

        :param backend: Backend name
            Should be one of the following: 'mongo', 'mysql' or 'postgresql'.
        :param database: Database name.
        :param kwargs: Additional credentials for backend.

        """
        if database is None:
            raise SpiderMisuseError('setup_cache method requires database '
                                    'option')
        self.cache_enabled = True
        mod = __import__('grab.spider.cache_backend.%s' % backend, globals(),
                         locals(), ['foo'])
        cache = mod.CacheBackend(database=database,
                                 use_compression=use_compression,
                                 spider=self,
                                 **kwargs)
        self.cache_pipeline = CachePipeline(self, cache)
Exemple #2
0
 def setup_cache(self, backend='mongo', database=None, use_compression=True,
                 **kwargs):
     if database is None:
         raise SpiderMisuseError('setup_cache method requires database '
                                 'option')
     self.cache_enabled = True
     mod = __import__('grab.spider.cache_backend.%s' % backend,
                      globals(), locals(), ['foo'])
     cache = mod.CacheBackend(database=database,
                              use_compression=use_compression,
                              spider=self, **kwargs)
     self.cache_pipeline = CachePipeline(self, cache)