コード例 #1
0
    def resetSubtypes(self, batch=1000):
        """ walk all catalog entries and reset sub-type markings """
        log = self.mklog()
        log('resetting blob sub-type markers...\n')
        real = timer()  # real time
        lap = timer()  # real lap time (for intermediate commits)
        processed = 0

        def checkPoint():
            log('intermediate commit ({0} items processed, '
                'last batch in {1})...\n'.format(processed, lap.next()))
            commit()

        cpi = checkpointIterator(checkPoint, batch)
        context = aq_inner(self.context)
        catalog = getToolByName(context, 'portal_catalog')
        for brain in catalog(object_provides=IATBlob.__identifier__):
            obj = brain.getObject()
            subtype = brain.portal_type
            markAs(obj, subtype)
            obj.reindexObject(idxs=['object_provides'])
            log('set blob sub-type for {0} to "{1}"\n'.format(obj, subtype))
            processed += 1
            cpi.next()
        commit()
        msg = 'processed {0} items in {1}.'.format(processed, real.next())
        log(msg)
        getLogger('plone.app.blob.maintenance').info(msg)
コード例 #2
0
ファイル: maintenance.py プロジェクト: plone/plone.app.blob
    def resetSubtypes(self, batch=1000):
        """ walk all catalog entries and reset sub-type markings """
        log = self.mklog()
        log('resetting blob sub-type markers...\n')
        real = timer()          # real time
        lap = timer()           # real lap time (for intermediate commits)
        processed = 0

        def checkPoint():
            log('intermediate commit ({0} items processed, '
                'last batch in {1})...\n'.format(processed, next(lap)))
            commit()
        cpi = checkpointIterator(checkPoint, batch)
        context = aq_inner(self.context)
        catalog = getToolByName(context, 'portal_catalog')
        for brain in catalog(object_provides=IATBlob.__identifier__):
            obj = brain.getObject()
            subtype = brain.portal_type
            markAs(obj, subtype)
            obj.reindexObject(idxs=['object_provides'])
            log('set blob sub-type for {0} to "{1}"\n'.format(obj, subtype))
            processed += 1
            next(cpi)
        commit()
        msg = 'processed {0} items in {1}.'.format(processed, next(real))
        log(msg)
        getLogger('plone.app.blob.maintenance').info(msg)
コード例 #3
0
 def createDummy(self, klass, id='dummy', subtype=None):
     portal = self.portal
     dummy = klass(oid=id)
     markAs(dummy, subtype)
     # put dummy in context of portal
     dummy = dummy.__of__(portal)
     portal.dummy = dummy
     dummy.initializeArchetype()
     return dummy
コード例 #4
0
ファイル: atcttestcase.py プロジェクト: Vinsurya/Plone
 def createDummy(self, klass, id='dummy', subtype=None):
     portal = self.portal
     dummy = klass(oid=id)
     markAs(dummy, subtype)
     # put dummy in context of portal
     dummy = dummy.__of__(portal)
     portal.dummy = dummy
     dummy.initializeArchetype()
     return dummy
コード例 #5
0
def addATBlob(container, id, subtype='Blob', **kwargs):
    """ extended at-constructor copied from ClassGen.py """
    obj = ATBlob(id)
    if subtype is not None:
        markAs(obj, subtype)  # mark with interfaces needed for subtype
    if not hasCMF22:
        notify(ObjectCreatedEvent(obj))
    container._setObject(id, obj, suppress_events=hasCMF22)
    obj = container._getOb(id)
    if hasCMF22:
        obj.manage_afterAdd(obj, container)
    obj.initializeArchetype(**kwargs)
    if not hasCMF22:
        notify(ObjectModifiedEvent(obj))
    return obj.getId()