X-Git-Url: https://scm.cri.mines-paristech.fr/git/Portfolio.git/blobdiff_plain/1f94620ca7c2aee5a3ba7aed5c7afc1c763178dc..f8014f2a3d768a6366b422d7d08ad3ac75dc0b6b:/manipulation.py?ds=sidebyside diff --git a/manipulation.py b/manipulation.py index 9f65866..43bd086 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,7 +125,11 @@ class ImageQueueProcessorThread(threading.Thread) : 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 :