from math import ceil
import transaction
from ZODB.POSException import ConflictError
+from zope.site.hooks import setSite
from cStringIO import StringIO
console = logging.getLogger('[manipulation thread]')
#atexit.register(self.stop)
import Zope2
app = Zope2.app()
+ portal = app.unrestrictedTraverse(self.portal_path)
+ setSite(portal)
while not self.__stopped and self.queueSize :
self._process(app)
pass
p.tiles_available = 1
- p.reindexObject(idxs=['tiles_available'])
+
+ portal = app.unrestrictedTraverse(self.portal_path)
+ ctool = portal.portal_catalog
+ uid = '/'.join(p.getPhysicalPath())
+ ctool.reindexObject(p, idxs=['tiles_available'], uid=uid)
transaction.commit()
except ConflictError :
console.warn('Resync after ZODB ConflicError')
transaction.abort()
- portal = app.unrestrictedTraverse(portal_path)
+ portal = app.unrestrictedTraverse(self.portal_path)
portal._p_jar.sync()
self.queueAdd(path)
return