Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
 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'))
Exemple #5
0
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
Exemple #6
0
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
Exemple #7
0
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()
    
Exemple #8
0
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()
Exemple #9
0
 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)
Exemple #10
0
 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)