def clear_and_reindex(root): import re from pyramid.traversal import resource_path from pyramid.traversal import find_interface from repoze.catalog.query import Eq from voteit.core.models.catalog import metadata_for_query from voteit.core.models.catalog import index_object from voteit.core.models.catalog import reindex_object from voteit.core.models.catalog import update_indexes from voteit.core.models.interfaces import IMeeting from voteit.core.scripts.catalog import find_all_base_content # reindex catalog root.catalog.clear() updated_indexes = update_indexes(root.catalog, reindex=False) contents = find_all_base_content(root) content_count = len(contents) #Note: There might be catalog aware models outside of this scope. #In that case, we need some way of finding them print "Found %s objects to update" % content_count i = 1 p = 1 for obj in contents: index_object(root.catalog, obj) if p == 100: print "%s of %s done" % (i, content_count) p = 0 i+=1 p+=1
def clear_and_reindex(root): import re from pyramid.traversal import resource_path from pyramid.traversal import find_interface from repoze.catalog.query import Eq from voteit.core.models.catalog import metadata_for_query from voteit.core.models.catalog import index_object from voteit.core.models.catalog import reindex_object from voteit.core.models.catalog import update_indexes from voteit.core.models.interfaces import IMeeting from voteit.core.scripts.catalog import find_all_base_content # reindex catalog root.catalog.clear() updated_indexes = update_indexes(root.catalog, reindex=False) contents = find_all_base_content(root) content_count = len(contents) #Note: There might be catalog aware models outside of this scope. #In that case, we need some way of finding them print "Found %s objects to update" % content_count i = 1 p = 1 for obj in contents: index_object(root.catalog, obj) if p == 100: print "%s of %s done" % (i, content_count) p = 0 i += 1 p += 1
def test_update_indexes_when_index_removed(self): meeting = createContent('Meeting') meeting.title = 'hello world' self.root['meeting'] = meeting catalog = self.root.catalog catalog['nonexistent_index'] = catalog['title'] #Nonexistent should be removed del catalog['title'] #Removing title index should recreate it self.failUnless(catalog.get('nonexistent_index')) from voteit.core.models.catalog import update_indexes update_indexes(catalog, reindex=False) self.failIf(catalog.get('nonexistent_index')) self.failUnless(catalog.get('title'))
def test_update_indexes_when_index_removed(self): meeting = createContent('Meeting') meeting.title = 'hello world' self.root['meeting'] = meeting catalog = self.root.catalog catalog['nonexistent_index'] = catalog[ 'title'] #Nonexistent should be removed del catalog['title'] #Removing title index should recreate it self.failUnless(catalog.get('nonexistent_index')) from voteit.core.models.catalog import update_indexes update_indexes(catalog, reindex=False) self.failIf(catalog.get('nonexistent_index')) self.failUnless(catalog.get('title'))
def clear_and_reindex(root): # reindex catalog root.catalog.clear() updated_indexes = update_indexes(root.catalog, reindex=False) contents = find_all_base_content(root) content_count = len(contents) #Note: There might be catalog aware models outside of this scope. #In that case, we need some way of finding them print "Found %s objects to update" % content_count i = 1 p = 1 for obj in contents: index_object(root.catalog, obj) if p == 100: print "%s of %s done" % (i, content_count) p = 0 i += 1 p += 1
def clear_and_reindex(root): # reindex catalog root.catalog.clear() updated_indexes = update_indexes(root.catalog, reindex=False) contents = find_all_base_content(root) content_count = len(contents) #Note: There might be catalog aware models outside of this scope. #In that case, we need some way of finding them print "Found %s objects to update" % content_count i = 1 p = 1 for obj in contents: index_object(root.catalog, obj) if p == 100: print "%s of %s done" % (i, content_count) p = 0 i+=1 p+=1
def update_catalog(*args): worker = ScriptWorker('update_catalog') cat = worker.root.catalog print "Clearing old data from catalog" cat.clear() updated_indexes = update_indexes(cat, reindex=False) if updated_indexes: print "The following indexes were added: %s" % ", ".join(updated_indexes) print "Performing reindex of catalog indexes and metadata. This might take some time." contents = find_all_base_content(worker.root) content_count = len(contents) #Note: There might be catalog aware models outside of this scope. #In that case, we need some way of finding them print "Found %s objects to update" % content_count i = 1 p = 1 for obj in contents: index_object(cat, obj) if p == 20: print "%s of %s done" % (i, content_count) p = 0 i+=1 p+=1 print "Update complete - reindexed %s objects" % content_count print "Committing to database" transaction.commit() print "Done" worker.shutdown()
def update_catalog(*args): worker = ScriptWorker("update_catalog") cat = worker.root.catalog print "Clearing old data from catalog" cat.clear() updated_indexes = update_indexes(cat, reindex=False) if updated_indexes: print "The following indexes were added: %s" % ", ".join(updated_indexes) print "Performing reindex of catalog indexes and metadata. This might take some time." contents = find_all_base_content(worker.root) content_count = len(contents) # Note: There might be catalog aware models outside of this scope. # In that case, we need some way of finding them print "Found %s objects to update" % content_count i = 1 p = 1 for obj in contents: index_object(cat, obj) if p == 20: print "%s of %s done" % (i, content_count) p = 0 i += 1 p += 1 print "Update complete - reindexed %s objects" % content_count print "Committing to database" transaction.commit() print "Done" worker.shutdown()
def __init__(self, data=None, **kwargs): self.catalog = Catalog() self.catalog.__parent__ = self #To make traversal work self.catalog.document_map = DocumentMap() super(SiteRoot, self).__init__(data=data, **kwargs) update_indexes(self.catalog)
def __init__(self, data=None, **kwargs): self.catalog = Catalog() self.catalog.__parent__ = self #To make traversal work self.catalog.document_map = DocumentMap() super(SiteRoot, self).__init__(data=data, **kwargs) update_indexes(self.catalog)