diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-08-20 21:29:06 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-08-20 21:29:06 +0100 |
| commit | af24bdd0e8b67d2a0eaf053c7bf69a5b7c37639c (patch) | |
| tree | f65b4adff394b89d90ae59a1f4194386b52f6674 /mammoth | |
| parent | 329e9277bd77b3bed671bc03778eef3e857e03d6 (diff) | |
Continue after any IOError while attempting to read image
Diffstat (limited to 'mammoth')
| -rw-r--r-- | mammoth/docx/files.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/mammoth/docx/files.py b/mammoth/docx/files.py index ce557f6..bde488d 100644 --- a/mammoth/docx/files.py +++ b/mammoth/docx/files.py @@ -22,10 +22,12 @@ class Files(object): if _is_absolute(uri): return contextlib.closing(urlopen(uri)) elif self._base is not None: - path = os.path.join(self._base, uri) - if not os.path.exists(path): - raise InvalidFileReferenceError("could not find external image '{0}' from document directory '{1}'".format(uri, self._base)) - return open(path, "rb") + try: + return open(os.path.join(self._base, uri), "rb") + except IOError as error: + message = "could not open external image '{0}' from document directory '{1}'\n{2}".format( + uri, self._base, str(error)) + raise InvalidFileReferenceError(message) else: raise InvalidFileReferenceError("could not find external image '{0}', fileobj has no name".format(uri)) |
