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
	
	 helmutm
						helmutm