From 19b50d9e8f32b01c6101dc2363f68fb965c3ccf6 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Mon, 8 Oct 2012 11:50:51 +0200 Subject: [PATCH] extend processing of office files: error handling, handle description property as comments --- integrator/README.txt | 4 +-- integrator/browser.py | 4 +-- integrator/collection.py | 2 ++ integrator/office/base.py | 29 ++++++++++++++------ integrator/testdata/office/example.docx | Bin 20337 -> 23561 bytes integrator/testdata/office/example.docx.sav | Bin 20337 -> 23561 bytes resource.py | 9 +++--- 7 files changed, 31 insertions(+), 17 deletions(-) diff --git a/integrator/README.txt b/integrator/README.txt index cba0381..62b6532 100644 --- a/integrator/README.txt +++ b/integrator/README.txt @@ -231,7 +231,7 @@ Extracting Document Properties from MS Office Files >>> path = os.path.join(dataDir, 'office') >>> fn = os.path.join(path, 'example.docx') >>> os.path.getsize(fn) - 20337... + 23561... >>> officeFile = addAndConfigureObject(resources, Resource, 'test.docx', ... title=u'Example Word File', resourceType=tOfficeFile, @@ -241,7 +241,7 @@ Extracting Document Properties from MS Office Files >>> content = aOfficeFile.data >>> len(content) - 17409 + 20327 Clean up: >>> shutil.copy(fn + '.sav', fn) diff --git a/integrator/browser.py b/integrator/browser.py index ad103ad..aeafa87 100644 --- a/integrator/browser.py +++ b/integrator/browser.py @@ -40,8 +40,8 @@ class ExternalCollectionView(ConceptView): def update(self): if 'update' in self.request.form: cta = adapted(self.context) - if cta is not None: - cta.update() + cta.request = self.request + cta.update() if cta.updateMessage is not None: self.request.form['message'] = cta.updateMessage return True diff --git a/integrator/collection.py b/integrator/collection.py index 33c1912..35d4a9c 100644 --- a/integrator/collection.py +++ b/integrator/collection.py @@ -101,6 +101,7 @@ class ExternalCollectionAdapter(AdapterBase): adobj = adapted(obj) directory = provider.getDirectory(self) adobj.storageParams=dict(subdirectory=directory) + adobj.request = self.request adobj.externalAddress = addr # collect error information if adobj.processingErrors: @@ -209,6 +210,7 @@ class DirectoryCollectionProvider(object): contentType=contentType, ) adobj = adapted(obj) + adobj.request = client.request adobj.externalAddress = addr # must be set last # collect error information if adobj.processingErrors: diff --git a/integrator/office/base.py b/integrator/office/base.py index d4d86e5..67fe4bc 100644 --- a/integrator/office/base.py +++ b/integrator/office/base.py @@ -52,16 +52,12 @@ class OfficeFile(ExternalFileAdapter): implements(IOfficeFile) - _adapterAttributes = ExternalFileAdapter._adapterAttributes + ( - 'processingErrors',) - propertyMap = {u'Revision:': 'version'} propFileName = 'docProps/custom.xml' + corePropFileName = 'docProps/core.xml' fileExtensions = ('.docm', '.docx', 'dotm', 'dotx', 'pptx', 'potx', 'ppsx', '.xlsm', '.xlsx', '.xltm', '.xltx') - processingErrors = [] - @Lazy def logger(self): return getLogger('loops.integrator.office.base.OfficeFile') @@ -91,20 +87,32 @@ class OfficeFile(ExternalFileAdapter): from logging import getLogger self.logger.warn(e) return [] + if self.corePropFileName not in zf.namelist(): + self.logger.warn('Core properties not found in file %s.' % + self.externalAddress) if self.propFileName not in zf.namelist(): self.logger.warn('Custom properties not found in file %s.' % self.externalAddress) propsXml = zf.read(self.propFileName) + corePropsXml = zf.read(self.corePropFileName) + # TODO: read core.xml, return both trees in dictionary zf.close() - return etree.fromstring(propsXml) + return {'custom': etree.fromstring(propsXml), + 'core': etree.fromstring(corePropsXml)} def getDocProperty(self, pname): - for p in self.docPropertyDom: + for p in self.docPropertyDom['custom']: name = p.attrib.get('name') if name == pname: return p[0].text return None + def getCoreProperty(self, pname): + for p in self.docPropertyDom['core']: + if p.tag.endswith(pname): + return p.text + return None + def processDocument(self): changed = False docVersion = None @@ -112,11 +120,14 @@ class OfficeFile(ExternalFileAdapter): strType = ('{http://schemas.openxmlformats.org/' 'officeDocument/2006/docPropsVTypes}lpwstr') attributes = {} - dom = self.docPropertyDom + # get dc:description from core.xml + desc = self.getCoreProperty('description') + if desc is not None: + attributes['comments'] = desc + dom = self.docPropertyDom['custom'] for p in dom: name = p.attrib.get('name') value = p[0].text - #print '***', self.externalAddress, name, value, p[0].tag attr = self.propertyMap.get(name) if attr == 'version': docVersion = value diff --git a/integrator/testdata/office/example.docx b/integrator/testdata/office/example.docx index 0ab00cb111784f95f7cfefdc8ae46805a7a871be..7f17545457e83a8ffdf47e2a8eaba97aae2f36f7 100644 GIT binary patch delta 17557 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 QSnq#>@4eD%{Q30%0kCI`tpET3 delta 14267 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 QSnq#>@4eD%{Q30%0kCI`tpET3 delta 14267 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