X-Git-Url: https://svn.cri.ensmp.fr/git/Portfolio.git/blobdiff_plain/f8014f2a3d768a6366b422d7d08ad3ac75dc0b6b..538c7c6bc43c5670b8688f669c83aba7185d32e7:/manipulation.py diff --git a/manipulation.py b/manipulation.py index 43bd086..dcba20d 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 ZODB.POSException import ConnectionStateError from zope.site.hooks import setSite from cStringIO import StringIO @@ -57,11 +58,11 @@ class ImageQueueProcessorThread(threading.Thread) : self._process(app) con = app._p_jar - con.close() - #con.close() + try : + con.close() + except ConnectionStateError, e : + console.warn('ConnectionStateError raised before finished.') console.info('process finished.') - #print con - #print con.transaction_manager def stop(self): @@ -125,11 +126,8 @@ class ImageQueueProcessorThread(threading.Thread) : pass p.tiles_available = 1 - - portal = app.unrestrictedTraverse(self.portal_path) - ctool = portal.portal_catalog - uid = '/'.join(p.getPhysicalPath()) - ctool.reindexObject(p, idxs=['tiles_available'], uid=uid) + assert p._getCatalogTool() + p.reindexObject(idxs=['tiles_available']) transaction.commit() except ConflictError :