From ae8ed0052d07c9bb236fdbd32300f62db281de5e Mon Sep 17 00:00:00 2001 From: helmutm Date: Sun, 15 Aug 2010 09:21:49 +0000 Subject: [PATCH] avoid error when no custom properties available in office file git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3952 fd906abe-77d9-0310-91a1-e0d9ade77398 --- integrator/office/base.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/integrator/office/base.py b/integrator/office/base.py index 3d96f99..21c2f83 100644 --- a/integrator/office/base.py +++ b/integrator/office/base.py @@ -56,6 +56,10 @@ class OfficeFile(ExternalFileAdapter): propertyMap = {u'Revision:': 'version'} propFileName = 'docProps/custom.xml' + @Lazy + def logger(self): + return getLogger('loops.integrator.office.base.OfficeFile') + def setExternalAddress(self, addr): super(OfficeFile, self).setExternalAddress(addr) root, ext = os.path.splitext(self.externalAddress) @@ -65,17 +69,19 @@ class OfficeFile(ExternalFileAdapter): setExternalAddress) def processDocument(self): - storage = component.getUtility(IExternalStorage, name=self.storageName) subDir = self.storageParams.get('subdirectory') - fn = storage.getDir(self.externalAddress, subDir) + fn = self.storage.getDir(self.externalAddress, subDir) # open ZIP file, process properties, set version property in file try: zf = ZipFile(fn, 'r') except IOError, e: from logging import getLogger - getLogger('loops.integrator.office.base.OfficeFile').warn(e) + self.logger.warn(e) return #print '***', zf.namelist() + if self.propFileName not in zf.namelist(): + self.logger.warn('Custom properties not found in file %s.' % + self.externalAddress) propsXml = zf.read(self.propFileName) dom = etree.fromstring(propsXml) changed = False