diff options
| -rw-r--r-- | mat/office.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/mat/office.py b/mat/office.py index d6ad367..3e70be4 100644 --- a/mat/office.py +++ b/mat/office.py | |||
| @@ -7,6 +7,8 @@ import logging | |||
| 7 | import zipfile | 7 | import zipfile |
| 8 | import fileinput | 8 | import fileinput |
| 9 | import subprocess | 9 | import subprocess |
| 10 | import xml.dom.minidom as minidom | ||
| 11 | import StringIO | ||
| 10 | 12 | ||
| 11 | try: | 13 | try: |
| 12 | import cairo | 14 | import cairo |
| @@ -18,7 +20,6 @@ import mat | |||
| 18 | import parser | 20 | import parser |
| 19 | import archive | 21 | import archive |
| 20 | 22 | ||
| 21 | |||
| 22 | class OpenDocumentStripper(archive.GenericArchiveStripper): | 23 | class OpenDocumentStripper(archive.GenericArchiveStripper): |
| 23 | ''' | 24 | ''' |
| 24 | An open document file is a zip, with xml file into. | 25 | An open document file is a zip, with xml file into. |
| @@ -34,8 +35,14 @@ class OpenDocumentStripper(archive.GenericArchiveStripper): | |||
| 34 | metadata = {} | 35 | metadata = {} |
| 35 | try: | 36 | try: |
| 36 | content = zipin.read('meta.xml') | 37 | content = zipin.read('meta.xml') |
| 38 | dom1 = minidom.parseString(content) | ||
| 39 | a = dom1.getElementsByTagName('office:meta') | ||
| 40 | for i in a[0].childNodes: | ||
| 41 | msg = i.tagName + ' : ' | ||
| 42 | for j in i.childNodes: | ||
| 43 | msg += j.data | ||
| 44 | print(msg) | ||
| 37 | zipin.close() | 45 | zipin.close() |
| 38 | metadata[self.filename] = 'harmful meta' | ||
| 39 | except KeyError: # no meta.xml file found | 46 | except KeyError: # no meta.xml file found |
| 40 | logging.debug('%s has no opendocument metadata' % self.filename) | 47 | logging.debug('%s has no opendocument metadata' % self.filename) |
| 41 | return metadata | 48 | return metadata |
