X-Git-Url: https://scm.cri.ensmp.fr/git/Portfolio.git/blobdiff_plain/2d47c9c3dc8e8265381e167514626f854a2a6f2b..c7599d6b4346a2f288412186a878562daf9e672b:/manipulation.py diff --git a/manipulation.py b/manipulation.py index a4623ba..ce74a7d 100755 --- a/manipulation.py +++ b/manipulation.py @@ -18,6 +18,7 @@ from types import StringTypes 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]') @@ -50,6 +51,8 @@ class ImageQueueProcessorThread(threading.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) @@ -122,13 +125,14 @@ class ImageQueueProcessorThread(threading.Thread) : pass p.tiles_available = 1 + assert p._getCatalogTool() p.reindexObject(idxs=['tiles_available']) 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