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
This commit is contained in:
parent
007ae89f22
commit
ae8ed0052d
1 changed files with 9 additions and 3 deletions
|
@ -56,6 +56,10 @@ class OfficeFile(ExternalFileAdapter):
|
||||||
propertyMap = {u'Revision:': 'version'}
|
propertyMap = {u'Revision:': 'version'}
|
||||||
propFileName = 'docProps/custom.xml'
|
propFileName = 'docProps/custom.xml'
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
def logger(self):
|
||||||
|
return getLogger('loops.integrator.office.base.OfficeFile')
|
||||||
|
|
||||||
def setExternalAddress(self, addr):
|
def setExternalAddress(self, addr):
|
||||||
super(OfficeFile, self).setExternalAddress(addr)
|
super(OfficeFile, self).setExternalAddress(addr)
|
||||||
root, ext = os.path.splitext(self.externalAddress)
|
root, ext = os.path.splitext(self.externalAddress)
|
||||||
|
@ -65,17 +69,19 @@ class OfficeFile(ExternalFileAdapter):
|
||||||
setExternalAddress)
|
setExternalAddress)
|
||||||
|
|
||||||
def processDocument(self):
|
def processDocument(self):
|
||||||
storage = component.getUtility(IExternalStorage, name=self.storageName)
|
|
||||||
subDir = self.storageParams.get('subdirectory')
|
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
|
# open ZIP file, process properties, set version property in file
|
||||||
try:
|
try:
|
||||||
zf = ZipFile(fn, 'r')
|
zf = ZipFile(fn, 'r')
|
||||||
except IOError, e:
|
except IOError, e:
|
||||||
from logging import getLogger
|
from logging import getLogger
|
||||||
getLogger('loops.integrator.office.base.OfficeFile').warn(e)
|
self.logger.warn(e)
|
||||||
return
|
return
|
||||||
#print '***', zf.namelist()
|
#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)
|
propsXml = zf.read(self.propFileName)
|
||||||
dom = etree.fromstring(propsXml)
|
dom = etree.fromstring(propsXml)
|
||||||
changed = False
|
changed = False
|
||||||
|
|
Loading…
Add table
Reference in a new issue