Example #1
0
 def setUp(self):
     if os.path.exists('test-index'):
         shutil.rmtree('test-index')
     os.mkdir('test-index')
     os.mkdir('test-index/files')
     from roundup.backends.indexer_dbm import Indexer
     self.dex = Indexer(db)
     self.dex.load_index()
Example #2
0
def get_indexer(config, db):
    indexer_name = getattr(config, "INDEXER", "")
    if not indexer_name:
        # Try everything
        try:
            from .indexer_xapian import Indexer
            return Indexer(db)
        except ImportError:
            pass

        try:
            from .indexer_whoosh import Indexer
            return Indexer(db)
        except ImportError:
            pass

        indexer_name = "native"  # fallback to native full text search

    if indexer_name == "xapian":
        from .indexer_xapian import Indexer
        return Indexer(db)

    if indexer_name == "whoosh":
        from .indexer_whoosh import Indexer
        return Indexer(db)

    if indexer_name == "native":
        # load proper native indexing based on database type
        if db.dbtype == "anydbm":
            from roundup.backends.indexer_dbm import Indexer
            return Indexer(db)

        if db.dbtype in ("sqlite", "postgres", "mysql"):
            from roundup.backends.indexer_rdbms import Indexer
            return Indexer(db)

    raise AssertionError("Invalid indexer: %r" % (indexer_name))
Example #3
0
 def setUp(self):
     if os.path.exists('test-index'):
         shutil.rmtree('test-index')
     os.mkdir('test-index')
     from roundup.backends.indexer_xapian import Indexer
     self.dex = Indexer(db)