Пример #1
0
def objectMoved(ev):
    if ev.newParent is None or ev.oldParent is None:
        # it's an IObjectRemovedEvent or IObjectAddedEvent
        return
    if ev.newParent is ev.oldParent:
        # it's a renaming operation
        dispatchToSublocations(ev.object, ev)
    obj = filterTemporaryItems(ev.object)
    indexer = getQueue()
    if obj is not None:
        indexer = getQueue()
        indexer.index(obj)
Пример #2
0
 def unindexObject(self, object):
     if not CATALOG_OPTIMIZATION_DISABLED:
         obj = filterTemporaryItems(object, checkId=False)
         if obj is not None:
             indexer = getQueue()
             indexer.unindex(obj)
     else:
         self._unindexObject(object)
Пример #3
0
        def begin(self):
            self.should_log = IDuringUpgrade.providedBy(getRequest())
            if not self.should_log:
                return

            indexing_queue_length = getQueue().length()
            self.logger = ProgressLogger('Processing indexing queue',
                                         indexing_queue_length)
Пример #4
0
        def begin(self):
            self.should_log = IDuringUpgrade.providedBy(getRequest())
            if not self.should_log:
                return

            indexing_queue_length = getQueue().length()
            self.logger = ProgressLogger(
                'Processing indexing queue',
                indexing_queue_length)
Пример #5
0
def objectModified(ev):
    obj = filterTemporaryItems(ev.object)
    if obj is None:
        return
    indexer = getQueue()
    if getattr(ev, 'descriptions', None):  # not used by archetypes/plone atm
        # build the list of to be updated attributes
        attrs = []
        for desc in ev.descriptions:
            if isinstance(desc, Attributes):
                attrs.extend(desc.attributes)
        indexer.reindex(obj, attrs)
        if 'allow' in attrs:  # dispatch to sublocations on security changes
            dispatchToSublocations(ev.object, ev)
    else:
        # with no descriptions (of changed attributes) just reindex all
        indexer.reindex(obj)
Пример #6
0
 def reindexObject(self, object, idxs=[], update_metadata=1, uid=None):
     # `CMFCatalogAware.reindexObject` also updates the modification date
     # of the object for the "reindex all" case.  unfortunately, some other
     # packages like `CMFEditions` check that date to see if the object was
     # modified during the request, which fails when it's only set on commit
     if not CATALOG_OPTIMIZATION_DISABLED:
         if idxs in (None, []) and \
                 hasattr(aq_base(object), 'notifyModified'):
             object.notifyModified()
         obj = filterTemporaryItems(object)
         if obj is not None:
             indexer = getQueue()
             indexer.reindex(obj, idxs, update_metadata=update_metadata)
     else:
         self._reindexObject(object,
                             idxs=idxs,
                             update_metadata=update_metadata,
                             uid=uid)
Пример #7
0
 def setUp(self):
     self.me = getQueue()
     self.failUnless(IIndexQueue.providedBy(self.me),
                     'non-queued indexer found')
Пример #8
0
def objectTransitioned(ev):
    obj = filterTemporaryItems(ev.object)
    if obj is not None:
        indexer = getQueue()
        indexer.reindex(obj)
Пример #9
0
def objectRemoved(ev):
    obj = filterTemporaryItems(ev.object, checkId=False)
    if obj is not None:
        indexer = getQueue()
        indexer.unindex(obj)
Пример #10
0
def objectAdded(ev):
    obj = filterTemporaryItems(ev.object)
    if obj is not None:
        indexer = getQueue()
        indexer.index(obj)
Пример #11
0
 def setUp(self):
     self.me = getQueue()
     self.assertTrue(IIndexQueue.providedBy(self.me),
                     'non-queued indexer found')