Sometimes I receive workbooks that are missing a theme, a condition that was not apparent in OpenPyXL 1.5.8 and raises an exception in 1.6.1:
openpyxl.shared.exc.InvalidFileException: "There is no item named 'xl/theme/theme1.xml' in the archive"
Since the writer checks for
loaded_theme, it doesn't seem as though a workaround would hurt in the reader (the assertion below is only for emphasis):
> hg diff -U0 --nodates openpyxl/reader/excel.py diff -r 94b05cf9defb openpyxl/reader/excel.py --- a/openpyxl/reader/excel.py +++ b/openpyxl/reader/excel.py @@ -137,1 +137,7 @@ - wb.loaded_theme = archive.read(ARC_THEME) + + try: + wb.loaded_theme = archive.read(ARC_THEME) + except KeyError: + # Respect workbook.py:88: self.loaded_theme = None + assert wb.loaded_theme == None +
loaded_theme and its use of
ARC_THEME looks like a feature (rather than a requirement) added in rev 64abb80fb7d2.